Function at 0x421438
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], 0xbfd9efe8
push edi
mov dword [esp + 0x64], 0x1c0f081a
mov ecx, ebx
mov dword [esp + 0x68], 0x8e5a9ac
mov dword [esp + 0x6c], 0xebbf040b
mov dword [esp + 0x70], 0x1300020e
mov dword [esp + 0x74], 0xd90d0e08
mov byte [esp + 0x78], 0xbf
mov al, byte [esp + ecx + 0x60]
add al, 0x61
mov byte [esp + ecx + 0x1ac], al
inc ecx
cmp ecx, 0x19
jl 0x42147b
mov byte [esp + 0x1c5], bl
mov ecx, ebx
mov dword [esp + 0x10], 0x42643b3c
mov dword [esp + 0x14], 0x507f4354
mov dword [esp + 0x18], 0x110b545c
mov al, byte [esp + ecx + 0x10]
xor al, 0x31
mov byte [esp + ecx + 0x144], al
inc ecx
cmp ecx, 0xc
jl 0x4214af
mov dword [esp + 0x28], 0x7b6e7c7e
xorps xmm0, xmm0
mov dword [esp + 0x2c], 0x6e766a77
xor eax, eax
movq xmm1, qword [esp + 0x28]
mov ecx, ebx
punpcklbw xmm1, xmm0
psubw xmm1, xmmword [str._t_t_t_t_t_t_t_t________UUUUUUUU]
pand xmm1, xmmword [0x429f80]
mov dword [esp + 0x3c], 0x7f531a1d
mov dword [esp + 0x40], 0x6465607d
mov dword [esp + 0x44], 0x715e6275
mov dword [esp + 0x48], 0x302a757d
movups xmm0, xmmword [esp + 0x3c]
mov byte [esp + 0x150], bl
movups xmmword [esp + 0x168], xmm1
mov word [esp + 0x178], ax
movaps xmm1, xmmword [0x429fb0]
pxor xmm1, xmm0
mov byte [esp + 0x164], bl
movups xmmword [esp + 0x154], xmm1
mov dword [esp + 0x10], 0x24393b37
mov dword [esp + 0x14], 0x26312021
mov dword [esp + 0x18], 0x3139353a
mov al, byte [esp + ecx + 0x10]
xor al, 0x54
movzx eax, al
mov word [esp + ecx*2 + 0x1c8], ax
inc ecx
cmp ecx, 0xc
jl 0x421561
xor eax, eax
mov dword [esp + 0xc8], 0x9256c6b
mov word [esp + 0x1e0], ax
mov ecx, ebx
mov dword [esp + 0xcc], 0x14120813
mov dword [esp + 0xd0], 0x1d465c1f
mov dword [esp + 0xd4], 0x8130905
mov dword [esp + 0xd8], 0x1b1f1412
mov dword [esp + 0xdc], 0x92a6c6b
mov dword [esp + 0xe0], 0xf120705
mov dword [esp + 0xe4], 0x465c0809
mov dword [esp + 0xe8], 0x5090a1d
mov dword [esp + 0xec], 0x90f1207
mov dword [esp + 0xf0], 0x6c6b1b08
mov dword [esp + 0xf4], 0x46160f3c
mov dword [esp + 0xf8], 0x3020905
mov dword [esp + 0xfc], 0x1c1d465c
mov dword [esp + 0x100], 0x905160f
mov dword [esp + 0x104], 0x6b1b0302
mov dword [esp + 0x108], 0xb0f326c
mov dword [esp + 0x10c], 0x8093c03
mov dword [esp + 0x110], 0x1d465c03
mov dword [esp + 0x114], 0x30b0f12
mov dword [esp + 0x118], 0x308091c
mov dword [esp + 0x11c], 0x2e6c6b1b
mov dword [esp + 0x120], 0x5c222f31
mov byte [esp + 0x124], 0x46
mov al, byte [esp + ecx + 0xc8]
xor al, 0x66
mov byte [esp + ecx + 0x250], al
inc ecx
cmp ecx, 0x5d
jl 0x421689
mov byte [esp + 0x2ad], bl
mov ecx, ebx
mov dword [esp + 0x3c], 0x5422e9ec
mov dword [esp + 0x40], 0x4d445151
mov dword [esp + 0x44], 0x404bff53
mov dword [esp + 0x48], 0x4054464d
mov dword [esp + 0x4c], 0xff194446
mov al, byte [esp + ecx + 0x3c]
add al, 0x21
mov byte [esp + ecx + 0x17c], al
inc ecx
cmp ecx, 0x14
jl 0x4216d0
mov byte [esp + 0x190], bl
mov ecx, ebx
mov dword [esp + 0x50], 0x12227b7c
mov dword [esp + 0x54], 0x1f141403
mov dword [esp + 0x58], 0x140b1822
mov word [esp + 0x5c], 0x514b
mov al, byte [esp + ecx + 0x50]
xor al, 0x71
mov byte [esp + ecx + 0x3c], al
inc ecx
cmp ecx, 0xe
jl 0x42170b
mov byte [esp + 0x4a], bl
mov ecx, ebx
mov dword [esp + 0x128], 0x83decf83
mov byte [esp + 0x12c], 0xcf
mov al, byte [esp + ecx + 0x128]
xor al, 0xa6
movzx eax, al
mov word [esp + ecx*2 + 0x50], ax
inc ecx
cmp ecx, 5
jl 0x421734
xor eax, eax
mov dword [esp + 0x10], 0x4423dee1
mov word [esp + 0x5a], ax
mov ecx, ebx
mov dword [esp + 0x14], 0x48354639
mov dword [esp + 0x18], 0xf442433d
mov dword [esp + 0x1c], 0x48474d27
mov dword [esp + 0x20], 0xf40e4139
mov al, byte [esp + ecx + 0x10]
add al, 0x2c
mov byte [esp + ecx + 0x194], al
inc ecx
cmp ecx, 0x14
jl 0x42177c
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 0x421811
xor eax, eax
mov dword [esp + 0x28], 0x979c81a3
mov word [esp + 0x120], ax
mov ecx, ebx
mov dword [esp + 0x2c], 0xbd879086
mov word [esp + 0x30], 0x9e92
mov byte [esp + 0x32], 0x96
mov al, byte [esp + ecx + 0x28]
xor al, 0xf3
movzx eax, al
mov word [esp + ecx*2 + 0x60], ax
inc ecx
cmp ecx, 0xb
jl 0x421853
xor eax, eax
mov dword [esp + 0x7c], 0x11161116
mov word [esp + 0x76], ax
mov ecx, ebx
mov dword [esp + 0x80], 0x727a6d5a
mov dword [esp + 0x84], 0x77797a77
mov dword [esp + 0x88], 0x7e503b7e
mov dword [esp + 0x8c], 0x7a747962
mov dword [esp + 0x90], 0x7a577f69
mov dword [esp + 0x94], 0x6f6e7462
mov word [esp + 0x98], 0x2168
mov byte [esp + 0x9a], 0x3b
mov al, byte [esp + ecx + 0x7c]
xor al, 0x1b
mov byte [esp + ecx + 0x9c], al
inc ecx
cmp ecx, 0x1f
jl 0x4218cc
mov byte [esp + 0xbb], bl
mov ecx, ebx
mov dword [esp + 0x10], 0x45424542
mov dword [esp + 0x14], 0x2b3d2e07
mov dword [esp + 0x18], 0x2a3d2e38
mov dword [esp + 0x1c], 0x426f753c
mov dword [esp + 0x20], 0x1a1f0c45
mov word [esp + 0x24], 0x6f75
mov al, byte [esp + ecx + 0x10]
xor al, 0x4f
mov byte [esp + ecx + 0x7c], al
inc ecx
cmp ecx, 0x16
jl 0x421917
mov byte [esp + 0x92], bl
mov ecx, ebx
mov dword [esp + 0x10], 0xf3f4fed4
mov dword [esp + 0x14], 0xe9ceeae2
mov dword [esp + 0x18], 0xeaf5e8e1
mov dword [esp + 0x1c], 0xe8eef3e6
mov dword [esp + 0x20], 0xfff3a9e9
mov byte [esp + 0x24], 0xf3
mov al, byte [esp + ecx + 0x10]
xor al, 0x87
movzx eax, al
mov word [esp + ecx*2 + 0x1e4], ax
inc ecx
cmp ecx, 0x15
jl 0x42195d
mov cl, byte [0x42cbe4]
xor eax, eax
mov word [esp + 0x20e], ax
xor cl, 0x2b
mov al, byte [0x42cbd8]
add al, 0x43
mov byte [0x42cbe2], cl
mov byte [0x42cbee], al
movzx eax, cl
add eax, 0x5aa463e2
push 0x2000
mov dword [0x42cbe8], eax
call fcn.0040570b
mov dx, word [0x42cbe4]
lea edi, [esp + 0x14]
add dword [0x42cbe8], 0x6214a2e1
mov esi, eax
xor eax, eax
stosd dword es:[edi], eax
pop ecx
mov cl, dl
xor cl, 0x75
stosd dword es:[edi], eax
mov byte [0x42cbe2], cl
stosd dword es:[edi], eax
movzx edi, dx
lea eax, [edi + 0x23e65573]
mov dword [0x42cbf0], eax
call fcn.00420a7d
or ebp, 0xffffffff
test eax, eax
je 0x421acf
mov dword [esp + 0x28], 0x797c6057
mov ecx, ebx
mov dword [esp + 0x2c], 0x74783571
mov dword [esp + 0x30], 0x352f7e67
mov al, byte [esp + ecx + 0x28]
xor al, 0x15
mov byte [esp + ecx + 0x128], al
inc ecx
cmp ecx, 0xc
jl 0x421a10
mov byte [esp + 0x134], bl
mov ecx, ebx
mov word [esp + 0x34], 0x7c7f
mov al, byte [esp + ecx + 0x34]
sub al, 0x72
mov byte [esp + ecx + 0x38], al
inc ecx
cmp ecx, 2
jl 0x421a33
imul eax, edi, 0xe754764
lea edx, [esp + 0x128]
push ebp
lea ecx, [esp + 0x14]
mov byte [esp + 0x3e], bl
mov dword [0x42cbd8], eax
call fcn.00423d47
imul eax, dword [0x42cbe8], 0xda1e5341
add byte [0x42cbe2], 0x8c
pop ecx
push ebp
mov dword [0x42cbdc], eax
imul eax, dword [0x42cbd8], 0xd8f78e4b
mov dword [0x42cbf0], eax
call fcn.00420a7d
mov edx, eax
lea ecx, [esp + 0x14]
call fcn.00423d47
pop ecx
movzx ecx, byte [0x42cbe2]
lea edx, [esp + 0x38]
mov eax, 0xa9a7
imul ecx, eax
mov eax, dword [0x42cbdc]
add eax, 0x76e8810
push ebp
mov dword [0x42cbf0], eax
mov word [0x42cbe4], cx
lea ecx, [esp + 0x14]
call fcn.00423d47
pop ecx
movzx eax, word [0x42cbe0]
lea edx, [esp + 0x1ac]
imul eax, eax, 0x52103e3c
lea ecx, [esp + 0x10]
push ebp
mov dword [0x42cbe8], eax
call fcn.00423d47
mov eax, dword [0x42cbd8]
mov edi, 0x1000
add eax, 0x7ef5
mov edx, 0xe718270b
mov word [0x42cbe4], ax
mov al, byte [0x42cbf0]
pop ecx
sub al, 0x7e
xor ecx, ecx
mov byte [0x42cbe2], al
inc ecx
mov al, byte [0x42cbe8]
push edi
sub al, 0xe
push esi
push ebx
mov byte [0x42cbee], al
call fcn.00415333
call eax
test eax, eax
je 0x421b87
mov eax, dword [0x42cbe8]
lea ecx, [esp + 0x10]
add eax, 0x5f39879e
mov edx, esi
mov dword [0x42cbd8], eax
and eax, 0x60503351
mov dword [0x42cbdc], eax
movzx eax, byte [0x42cbee]
and eax, 0x2c808489
mov dword [0x42cbe8], eax
movzx eax, word [0x42cbe0]
add eax, 0x76af27b4
mov dword [0x42cbf0], eax
and eax, 0xd2e3
mov word [0x42cbe4], ax
call fcn.004232ba
mov eax, dword [0x42cbdc]
lea edx, [esp + 0x144]
add eax, 0x45ea
lea ecx, [esp + 0x10]
push ebp
mov word [0x42cbe4], ax
call fcn.00423d47
movzx eax, word [0x42cbe0]
mov edx, 0x1a52823b
add eax, 0x15636012
mov dword [0x42cbdc], eax
imul eax, eax, 0xcbb1b69e
pop ecx
push edi
xor edi, edi
push esi
mov dword [0x42cbd8], eax
inc edi
lea eax, [esp + 0x170]
mov ecx, edi
push eax
call fcn.00415333
call eax
test eax, eax
je 0x421c1f
mov ecx, dword [0x42cbf0]
mov edx, esi
imul eax, ecx, 0x2001
mov word [0x42cbe0], ax
movzx eax, cl
lea ecx, [esp + 0x10]
or eax, 0xf4
xor eax, 0xd15a1c2f
mov dword [0x42cbe8], eax
mov al, byte [0x42cbd8]
add al, 0x14
mov byte [0x42cbe2], al
call fcn.004232ba
mov al, byte [0x42cbdc]
lea edx, [esp + 0x154]
sub al, 0x51
lea ecx, [esp + 0x10]
push ebp
mov byte [0x42cbee], al
call fcn.00423d47
mov ecx, dword [0x42cbe8]
mov edx, 0x1a52823b
imul eax, ecx, 0xa9919324
xor ecx, 0x76d9ded0
mov dword [esp], 0x1000
mov dword [0x42cbf0], ecx
mov ecx, edi
push esi
mov dword [0x42cbd8], eax
lea eax, [esp + 0x1d0]
push eax
call fcn.00415333
call eax
test eax, eax
je 0x421cb6
mov eax, dword [0x42cbe8]
mov ecx, 0x9ff02e3b
xor byte [0x42cbe2], 0x23
and eax, 0xe37aeedd
mov dword [0x42cbdc], eax
mov edx, esi
movzx eax, byte [0x42cbee]
imul eax, eax, 0x4bd87438
sub ecx, eax
mov dword [0x42cbd8], ecx
lea ecx, [esp + 0x10]
call fcn.004232ba
and byte [0x42cbee], 0x82
lea edx, [esp + 0x250]
push ebp
lea ecx, [esp + 0x14]
call fcn.00423d47
mov eax, dword [0x42cbf0]
add eax, 0x414e
mov word [0x42cbe4], ax
movzx eax, byte [0x42cbe2]
imul eax, eax, 0xe6
pop ecx
mov ecx, 0x4df6
push ebp
push ecx
mov byte [0x42cbee], al
movzx eax, al
add ax, cx
mov word [0x42cbe0], ax
call fcn.00420aa3
pop ecx
mov edx, eax
lea ecx, [esp + 0x14]
call fcn.00423d47
sub dword [0x42cbd8], 0x364c1193
lea edx, [esp + 0x180]
pop ecx
mov cx, word [0x42cbe0]
movzx eax, cx
or eax, 0x43fdbcbb
mov dword [0x42cbdc], eax
mov eax, 0xfffc
or cx, ax
mov word [0x42cbe0], cx
lea ecx, [esp + 0x10]
push ebp
call fcn.00423d47
mov al, byte [0x42cbe4]
mov edx, 0x5b5926c8
pop ecx
push ebx
xor al, 0x46
push 5
pop ecx
mov byte [0x42cbe2], al
call fcn.00415333
call eax
movzx ecx, byte [0x42cbf0]
mov edx, 0x276dcf3
sub dword [0x42cbdc], 0x7675c1f1
imul ecx, ecx, 0x30
push 0x1000
push esi
movzx eax, ax
push 2
mov byte [0x42cbe2], cl
mov ecx, edi
push eax
call fcn.00415333
call eax
test eax, eax
je 0x421dc4
mov eax, dword [0x42cbdc]
lea ecx, [esp + 0x10]
add eax, 0xfffffed0
mov edx, esi
mov word [0x42cbe4], ax
call fcn.004232ba
movzx eax, word [0x42cbe4]
lea edx, [esp + 0x3c]
sub eax, 0x789cc77b
lea ecx, [esp + 0x10]
push ebp
mov dword [0x42cbd8], eax
call fcn.00423d47
mov al, byte [0x42cbdc]
pop ecx
push edi
xor al, 0x41
mov edi, 0xa499d7b7
push 5
mov edx, edi
mov byte [0x42cbee], al
pop ecx
call fcn.00415333
call eax
push eax
push ebx
push 5
mov edx, edi
pop ecx
call fcn.00415333
call eax
push eax
lea eax, [esp + 0x58]
mov edx, 0xe3740fb6
push eax
push 0x1000
push esi
xor ecx, ecx
call fcn.00415333
call eax
imul eax, dword [0x42cbdc], 0xeac0
lea ecx, [esp + 0x24]
add esp, 0x14
mov edx, esi
mov word [0x42cbe0], ax
call fcn.004232ba
movzx eax, byte [0x42cbe2]
lea edx, [esp + 0x194]
movzx ecx, word [0x42cbe4]
or eax, 0x3e4c6e0
mov dword [0x42cbe8], eax
mov eax, 0x9eb1
imul ecx, eax
push ebp
mov word [0x42cbe0], cx
lea ecx, [esp + 0x14]
call fcn.00423d47
mov al, byte [0x42cbdc]
lea edx, [esp + 0xcc]
add al, 0xa
mov dword [esp], 0x2000
mov byte [0x42cbe2], al
mov ecx, 0x80000002
lea eax, [esp + 0x64]
push esi
push eax
call fcn.00423150
add esp, 0xc
test al, al
je 0x4220a3
mov eax, dword [0x42cbe8]
lea ecx, [esp + 0x10]
add byte [0x42cbee], 0xcc
add eax, 0x9b45120a
mov dword [0x42cbf0], eax
mov edx, esi
mov al, byte [0x42cbe0]
mov byte [0x42cbe2], al
mov eax, dword [0x42cbd8]
add eax, 0xf0ccc67c
mov dword [0x42cbe8], eax
call fcn.004232ba
mov ecx, dword [0x42cbe8]
mov edx, 0xd226977
mov dword [esp + 0x140], ebx
lea eax, [ecx - 0x1a86]
and ecx, 0x32393862
mov word [0x42cbe4], ax
or al, 0x74
mov byte [0x42cbe2], al
mov eax, dword [0x42cbf0]
mov dword [0x42cbd8], ecx
or eax, 0xfbf1
xor ecx, ecx
mov word [0x42cbe0], ax
inc ecx
call fcn.00415333
mov cl, byte [0x42cbee]
mov edi, eax
movzx eax, cl
sub eax, 0x723f5ca5
mov dword [esp + 0x128], eax
mov dword [0x42cbdc], eax
test edi, edi
je 0x421fb4
movzx ecx, byte [0x42cbe2]
mov eax, 0x40f
add word [0x42cbe4], ax
add ecx, 0x18ed26cc
movzx eax, word [0x42cbe0]
mov edx, 0x24526977
or eax, 0x4752b5dc
mov dword [0x42cbdc], ecx
mov dword [0x42cbf0], eax
xor ecx, ecx
lea eax, [esp + 0x140]
inc ecx
push eax
call fcn.00415333
call eax
push eax
call edi
mov eax, dword [0x42cbdc]
mov cl, byte [0x42cbee]
mov dword [esp + 0x128], eax
mov dx, word [0x42cbe4]
mov eax, 0x502f
sub dx, ax
mov word [0x42cbe0], dx
cmp dword [esp + 0x140], ebx
je 0x421fe8
movzx eax, cl
mov ecx, 0xf184
or ax, cx
mov word [0x42cbe4], ax
mov al, 1
jmp 0x421fea
mov al, bl
mov ecx, dword [0x42cbd8]
and ecx, 0x40252201
or ecx, 0xfcad942
test al, al
je 0x422054
mov dword [esp + 0x38], 0xfe0042ea
mov ecx, ebx
mov al, byte [esp + ecx + 0x38]
add al, 0x36
mov byte [esp + ecx + 0x28], al
inc ecx
cmp ecx, 4
jl 0x42200a
or dl, 0x21
mov ecx, 0x8f02
movzx eax, dl
xor ax, cx
mov byte [0x42cbe2], dl
mov word [0x42cbe0], ax
mov eax, dword [esp + 0x128]
movzx eax, al
imul eax, eax, 0xa3
mov byte [0x42cbee], al
movzx eax, al
imul eax, eax, 0x7aa2e04
jmp 0x42208b
mov dword [esp + 0x38], 0xeceda6fe
mov edx, ebx
mov al, byte [esp + edx + 0x38]
xor al, 0xde
mov byte [esp + edx + 0x28], al
inc edx
cmp edx, 4
jl 0x42205e
mov al, byte [0x42cbf0]
or cl, 0x9c
sub al, 0x69
mov byte [0x42cbe2], cl
mov byte [0x42cbee], al
movzx eax, cl
or eax, 0x8a757766
push ebp
lea edx, [esp + 0x2c]
mov byte [esp + 0x30], bl
lea ecx, [esp + 0x14]
mov dword [0x42cbe8], eax
call fcn.00423d47
pop ecx
mov cx, word [0x42cbe4]
lea edx, [esp + 0x9c]
movzx eax, cx
xor eax, 0x2bc13a59
mov dword [0x42cbd8], eax
movzx eax, cl
lea ecx, [esp + 0x10]
imul eax, eax, 0xbe
push ebp
mov byte [0x42cbee], al
mov al, byte [0x42cbdc]
add al, 0x2c
mov byte [0x42cbe2], al
call fcn.00423d47
sub dword [0x42cbdc], 0x530e3bcf
mov edi, 0xf2fdc9f0
pop ecx
push ebx
push ebx
push 5
mov edx, edi
pop ecx
call fcn.00415333
call eax
imul edx, dword [0x42cbd8], 0xfa28d7b9
mov ebp, eax
mov al, byte [0x42cbee]
mov cl, al
or cl, 0xed
mov byte [0x42cbe2], cl
mov dword [0x42cbf0], edx
test ebp, ebp
je 0x4222ea
movzx eax, al
mov ecx, 0x13f7
sub ax, cx
or edx, 0xbf3e757a
mov word [0x42cbe0], ax
mov al, byte [0x42cbe4]
or al, 0xed
mov dword [0x42cbd8], edx
mov byte [0x42cbe2], al
mov eax, ebp
shl eax, 2
push eax
call fcn.0040570b
mov edx, eax
mov eax, 0x76b2
pop ecx
movzx ecx, byte [0x42cbee]
sub cx, ax
mov dword [esp + 0x128], edx
mov al, byte [0x42cbe0]
mov word [0x42cbe4], cx
movzx ecx, al
imul ecx, ecx, 0x2d
mov byte [0x42cbee], cl
test edx, edx
je 0x4222ea
push edx
or al, 0xdb
mov edx, edi
mov byte [0x42cbe2], al
mov eax, dword [0x42cbdc]
push ebp
or eax, 0x26586d8c
push 5
pop ecx
mov dword [0x42cbd8], eax
call fcn.00415333
call eax
mov al, byte [0x42cbe2]
mov edi, ebx
xor al, 0x4e
mov byte [0x42cbee], al
test ebp, ebp
je 0x4222ce
mov eax, dword [0x42cbd8]
xor ecx, ecx
and eax, 0x8e2a
mov edx, 0x276dcf3
mov word [0x42cbe0], ax
inc ecx
or eax, 0x2524
mov word [0x42cbe4], ax
mov al, byte [0x42cbdc]
or al, 0xb9
mov byte [0x42cbee], al
mov eax, dword [esp + 0x128]
push 0x1000
push esi
push 2
movzx eax, word [eax + edi*4]
push eax
call fcn.00415333
call eax
test eax, eax
je 0x4222c5
mov word [esp + 0x34], 0x5354
mov ecx, ebx
mov al, byte [esp + ecx + 0x34]
xor al, 0x59
mov byte [esp + ecx + 0x38], al
inc ecx
cmp ecx, 2
jl 0x42222c
mov ax, word [0x42cbe4]
mov edx, 0x2096
movzx ecx, word [0x42cbe0]
add ax, dx
and ecx, 0xf0ddd815
mov word [0x42cbe4], ax
mov dword [0x42cbf0], ecx
lea edx, [esp + 0x38]
sub al, 0x7c
mov byte [esp + 0x3a], bl
or cl, 0x6c
mov byte [0x42cbee], al
mov byte [0x42cbe2], cl
mov ecx, 0x2aed
movzx eax, al
add ax, cx
lea ecx, [esp + 0x10]
push 0xffffffffffffffff
mov word [0x42cbe0], ax
call fcn.00423d47
movzx eax, word [0x42cbe0]
mov edx, esi
add eax, 0x1fd65696
mov dword [0x42cbf0], eax
movzx eax, byte [0x42cbee]
pop ecx
xor eax, 0xbd420aee
lea ecx, [esp + 0x10]
mov dword [0x42cbdc], eax
call fcn.004232ba
inc edi
cmp edi, ebp
jb 0x4221d1
mov eax, dword [0x42cbd8]
push dword [esp + 0x128]
or eax, 0xb28e683e
mov dword [0x42cbe8], eax
call fcn.004056f0
pop ecx
movzx eax, byte [0x42cbe2]
lea edx, [esp + 0x7c]
xor dword [0x42cbf0], 0x60e4bc8d
mov ecx, 0xcf41
or ax, cx
lea ecx, [esp + 0x10]
mov word [0x42cbe0], ax
mov eax, 0x66cb
add word [0x42cbe4], ax
push 0xffffffffffffffff
call fcn.00423d47
mov eax, dword [0x42cbdc]
or byte [0x42cbee], 0x74
add eax, 0xd1a58e5c
pop ecx
mov ecx, esi
mov dword [0x42cbf0], eax
call fcn.004212c2
mov eax, dword [0x42cbdc]
lea ecx, [esp + 0x10]
xor eax, 0xfcc40549
mov edx, esi
mov dword [0x42cbe8], eax
imul eax, dword [0x42cbdc], 0xbcd0
push 0xffffffffffffffff
mov word [0x42cbe0], ax
call fcn.00423d47
mov eax, dword [0x42cbdc]
mov edx, 0xb154ff53
or eax, 0x4d2c1b7d
mov dword [esp + 0x2b4], 0x348
mov dword [0x42cbf0], eax
mov al, byte [0x42cbe8]
and al, 0x1b
mov byte [0x42cbe2], al
mov eax, dword [0x42cbd8]
pop ecx
and eax, 0x59bbf638
push 1
mov dword [0x42cbdc], eax
lea eax, [esp + 0x2b4]
push eax
push ebx
push ebx
push 5
pop ecx
call fcn.00415333
call eax
test eax, eax
je 0x422456
mov dword [esp + 0x28], 0xb1a6ebec
mov ecx, ebx
mov word [esp + 0x2c], 0xdbb4
mov byte [esp + 0x2e], 0xc1
mov al, byte [esp + ecx + 0x28]
xor al, 0xe1
mov byte [esp + ecx + 0x128], al
inc ecx
cmp ecx, 7
jl 0x4223dd
mov al, byte [0x42cbdc]
lea edx, [esp + 0x128]
add al, 0x4c
mov byte [esp + 0x12f], bl
mov byte [0x42cbee], al
mov ecx, 0x7a77
movzx eax, byte [0x42cbe2]
or ax, cx
lea ecx, [esp + 0x10]
push 0xffffffffffffffff
mov word [0x42cbe4], ax
call fcn.00423d47
movzx eax, byte [0x42cbee]
lea edx, [esp + 0x2f8]
add eax, 0xef69a654
pop ecx
mov dword [0x42cbe8], eax
lea ecx, [esp + 0x10]
or eax, 0x5c1248fb
mov dword [0x42cbdc], eax
call fcn.004232ba
mov ecx, dword [0x42cbdc]
mov edx, 0x7065a9c4
mov al, cl
mov dword [esp + 0x210], 0x40
xor al, 0x33
mov byte [0x42cbee], al
imul eax, ecx, 0xcf68
xor ecx, ecx
inc ecx
mov word [0x42cbe4], ax
mov eax, dword [0x42cbd8]
add eax, 0xe319df6
mov dword [0x42cbf0], eax
lea eax, [esp + 0x210]
push eax
call fcn.00415333
call eax
test eax, eax
je 0x42256f
mov dword [esp + 0x28], 0xf1c4443
mov dword [esp + 0x2c], 0x6b6e7403
mov word [esp + 0x30], 0x223b
mov byte [esp + 0x32], 0x22
mov al, byte [esp + ebx + 0x28]
xor al, 0x4e
movzx eax, al
mov word [esp + ebx*2 + 0x128], ax
inc ebx
cmp ebx, 0xb
jl 0x4224c6
push dword [esp + 0x21c]
movzx ecx, byte [0x42cbee]
xor eax, eax
push dword [esp + 0x21c]
mov word [esp + 0x146], ax
or ecx, 0x4687ccc3
movzx eax, byte [0x42cbee]
mov edx, 0xe3740fb6
imul eax, eax, 0xf9
mov dword [0x42cbe8], ecx
and ecx, 0x67a7
mov word [0x42cbe0], cx
xor ecx, ecx
mov byte [0x42cbee], al
lea eax, [esp + 0x130]
push eax
push 0x1000
push esi
call fcn.00415333
call eax
movzx eax, byte [0x42cbe4]
lea ecx, [esp + 0x24]
imul eax, eax, 0x3e
add esp, 0x14
mov edx, esi
mov byte [0x42cbee], al
movzx eax, byte [0x42cbdc]
imul eax, eax, 0x60
mov byte [0x42cbe2], al
call fcn.004232ba
movzx eax, byte [0x42cbee]
mov edx, dword [esp + 0x18]
add eax, 0x28c5bbd3
mov ecx, dword [esp + 0x10]
mov dword [0x42cbe8], eax
lea eax, [esp + 0x1e4]
push eax
call fcn.0041ea51
mov al, byte [0x42cbe0]
pop ecx
xor al, 0xae
push esi
mov byte [0x42cbe2], al
call fcn.004056f0
add byte [0x42cbe2], 0xfb
pop ecx
push dword [esp + 0x10]
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5ec
ret