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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xaa0
mov edi, edx
mov esi, ecx
mov dword [esp + 0x1f0], 0xf912fb31
mov dword [esp + 0x1f4], 0xe577e766
mov dword [esp + 0x1f8], 0xe109e377
mov word [esp + 0x1fc], 0xefe0
mov dword [esp + 0x1fe], 0
mov word [esp + 0x202], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 0x13
ja 0x41be3f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx + 0x1f0]
add eax, 0x36c70dab
xor eax, ecx
mov dword [esp + 0x630], eax
mov eax, dword [esp + 0x630]
add al, 0xa9
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x1f0], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 0x14
jb 0x41be00
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [edi + ecx]
movzx edx, word [esp + ecx + 0x1f0]
test eax, eax
je 0x41be68
add ecx, 2
cmp ax, dx
je 0x41be50
movzx ecx, dx
mov edx, ecx
xor edx, eax
not ecx
and ecx, eax
add ecx, ecx
cmp ecx, edx
jne 0x41c066
mov dword [esp + 0x1f0], 0x13aa11b3
mov dword [esp + 0x1f4], 0x6fd96dde
mov dword [esp + 0x1f8], 0x6bd769dd
mov dword [esp + 0x1fc], 0x67db6512
mov dword [esp + 0x200], 0x63df61e8
mov word [esp + 0x204], 0x7d7c
mov dword [esp + 0x206], 0
mov byte [esp + 0x20a], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 0x1a
ja 0x41bf4b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx + 0x1f0]
mov edx, eax
xor edx, 0xe6bc97bc
and eax, 0xe6bc97bc
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x630], eax
mov eax, dword [esp + 0x630]
add al, 0x54
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x1f0], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 0x1b
jb 0x41bef0
movzx ecx, word [esp + 0x1f0]
lea eax, [esp + 0x9fc]
test cx, cx
je 0x41bf81
lea edx, [esp + 0x1f2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41bf70
mov word [eax], 0
mov dword [esp + 0x1f0], 0xd77ec967
mov dword [esp + 0x1f4], 0xd361d56a
mov dword [esp + 0x1f8], 0xdf73d165
mov dword [esp + 0x1fc], 0xdb76dd2e
mov dword [esp + 0x200], 0xa712d96c
mov dword [esp + 0x204], 0xa5a4
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 0x17
ja 0x41c02a
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx + 0x1f0]
mov edx, eax
xor edx, 0xaab25ae
and eax, 0xaab25ae
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x630], eax
mov eax, dword [esp + 0x630]
add al, 0x9a
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x1f0], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 0x18
jb 0x41bfe0
movzx ecx, word [esp + 0x1f0]
test cx, cx
mov dword [esp + 0x34], esi
lea eax, [esp + 0x9bc]
je 0x41c331
lea edx, [esp + 0x1f2]
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41c050
jmp 0x41c331
mov dword [esp + 0x1f0], 0x298e2b6f
mov dword [esp + 0x1f4], 0x2d852f81
mov word [esp + 0x1f8], 0x332c
mov dword [esp + 0x1fa], 0
mov byte [esp + 0x1fe], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 0xe
ja 0x41c0fa
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx + 0x1f0]
mov edx, eax
xor edx, 0x13d07107
and eax, 0x13d07107
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x630], eax
mov eax, dword [esp + 0x630]
add al, 0xdd
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x1f0], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 0xf
jb 0x41c0b0
xor ecx, ecx
nop
nop
nop
nop
movzx eax, word [edi + ecx]
movzx edx, word [esp + ecx + 0x1f0]
test eax, eax
je 0x41c118
add ecx, 2
cmp ax, dx
je 0x41c100
movzx ecx, dx
mov edx, ecx
xor edx, eax
not ecx
and ecx, eax
add ecx, ecx
cmp ecx, edx
jne 0x41c5c0
mov dword [esp + 0x1f0], 0x33413145
mov dword [esp + 0x1f4], 0x3f523d51
mov dword [esp + 0x1f8], 0x3b573957
mov dword [esp + 0x1fc], 0x472b4572
mov dword [esp + 0x200], 0x432f4138
mov word [esp + 0x204], 0x4d4c
mov dword [esp + 0x206], 0
mov byte [esp + 0x20a], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 0x1a
ja 0x41c1f5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x48]
movzx edx, byte [esp + eax + 0x1f0]
add ecx, 0xedd70b34
mov eax, ecx
and eax, edx
xor ecx, edx
sub ecx, eax
lea ecx, [ecx + eax*2]
mov edx, ecx
xor edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esp + 0x630], eax
mov eax, dword [esp + 0x630]
add al, 0xfc
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x1f0], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 0x1b
jb 0x41c1a0
movzx ecx, word [esp + 0x1f0]
test cx, cx
mov dword [esp + 0x34], esi
lea eax, [esp + 0x9fc]
je 0x41c231
lea edx, [esp + 0x1f2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41c220
mov word [eax], 0
mov dword [esp + 0x1f0], 0x19a71baf
mov dword [esp + 0x1f4], 0xe54ae7b3
mov dword [esp + 0x1f8], 0xe149e34d
mov dword [esp + 0x1fc], 0xed42ef12
mov dword [esp + 0x200], 0xe95eeb58
mov word [esp + 0x204], 0xf7e8
mov dword [esp + 0x206], 0
mov byte [esp + 0x20a], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 0x1a
ja 0x41c2fa
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x48]
movzx eax, byte [esp + eax + 0x1f0]
mov edx, ecx
xor edx, 0x944e41fb
add ecx, ecx
and ecx, 0x289c83f6
mov esi, ecx
and esi, edx
xor ecx, edx
lea ecx, [ecx + esi*2]
lea edx, [ecx + eax]
and ecx, eax
add ecx, ecx
sub edx, ecx
mov dword [esp + 0x630], edx
mov eax, dword [esp + 0x630]
add al, 0x19
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x1f0], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 0x1b
jb 0x41c2a0
movzx ecx, word [esp + 0x1f0]
lea eax, [esp + 0x9bc]
test cx, cx
je 0x41c331
lea edx, [esp + 0x1f2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41c320
mov word [eax], 0
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x1f0], 0x93c791c5
mov dword [esp + 0x1f4], 0x9f029d01
mov dword [esp + 0x1f8], 0x9b0e9931
mov dword [esp + 0x1fc], 0x871a852d
mov dword [esp + 0x200], 0x83d78119
mov dword [esp + 0x204], 0x8f138d1f
mov dword [esp + 0x208], 0x8bdf892a
mov dword [esp + 0x20c], 0xf76ff568
mov dword [esp + 0x210], 0xf35ff160
mov dword [esp + 0x214], 0xff68fdb9
mov dword [esp + 0x218], 0xfb66f955
mov dword [esp + 0x21c], 0xe771e57b
mov dword [esp + 0x220], 0xe349e172
mov dword [esp + 0x224], 0xef7bedba
mov dword [esp + 0x228], 0xeb40e97f
mov dword [esp + 0x22c], 0xd743d543
mov dword [esp + 0x230], 0xd364d186
mov dword [esp + 0x234], 0xdf42dd71
mov dword [esp + 0x238], 0xdb4dd947
mov dword [esp + 0x23c], 0xc76dc556
mov dword [esp + 0x240], 0xc36fc173
mov dword [esp + 0x244], 0xcf50cd5e
mov dword [esp + 0x248], 0xcb69c961
mov dword [esp + 0x24c], 0x37363599
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 0x5f
ja 0x41c4d4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx + 0x1f0]
mov edx, eax
xor edx, 0xeeefde24
mov esi, eax
xor esi, 0x111021db
or eax, 0x6eefde24
and eax, esi
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x630], eax
mov eax, dword [esp + 0x630]
add al, 0x4c
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x1f0], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 0x60
jb 0x41c480
lea edi, [esp + 0xa3c]
lea ebx, [esp + 0x1f0]
mov eax, ebx
mov ecx, 0x18
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xa9c]
lea eax, [esp + 0x250]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x1f0], 0x181b1a1d
mov byte [esp + 0x1f4], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 4
ja 0x41c589
nop
nop
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x48]
movzx eax, byte [esp + eax + 0x1f0]
mov edx, ecx
or edx, 0x74b0a184
mov esi, ecx
not esi
or esi, 0x8b4f5e7b
and esi, edx
not esi
and ecx, 0xb4f5e7b
lea ecx, [esi + ecx*2]
xor ecx, eax
mov dword [esp + 0x630], ecx
mov eax, dword [esp + 0x630]
add al, 0x99
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x1f0], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 5
jb 0x41c530
mov eax, dword [esp + 0x1f0]
mov ecx, dword [0x44e36c]
test ecx, ecx
je 0x41c5eb
xor edx, edx
mov edi, dword [0x44e370]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0xcecd21fd
je 0x41c5c7
inc edx
cmp ecx, edx
jne 0x41c5b0
jmp 0x41c5eb
xor ebx, ebx
jmp 0x41d09b
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je 0x41c5eb
lea eax, [esp + 0x30]
push eax
push 0
push 0
push 5
push 4
push dword [0x44e374]
push ecx
call fcn.0043eec0
add esp, 0x1c
cmp eax, 0xc0000004
jne 0x41c6c0
push dword [esp + 0x30]
call fcn.0043bc30
add esp, 4
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1f0], 0x181b1a1d
mov byte [esp + 0x1f4], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 4
ja 0x41c689
nop
nop
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x48]
movzx eax, byte [esp + eax + 0x1f0]
mov esi, edx
or esi, 0x74b0a184
mov edi, edx
not edi
or edi, 0x8b4f5e7b
and edi, esi
not edi
and edx, 0xb4f5e7b
lea edx, [edi + edx*2]
xor edx, eax
mov dword [esp + 0x630], edx
mov eax, dword [esp + 0x630]
add al, 0x99
mov edx, dword [esp + 0x48]
mov byte [esp + edx + 0x1f0], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 5
jb 0x41c630
mov eax, dword [esp + 0x1f0]
mov edx, dword [0x44e36c]
test edx, edx
je 0x41c704
xor edi, edi
mov ebx, dword [0x44e370]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xcecd21fd
je 0x41c6e2
inc edi
cmp edx, edi
jne 0x41c6b0
jmp 0x41c704
mov dword [esp + 0xc], 0
mov esi, 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
jmp 0x41cab5
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41c704
push 0
push ecx
push dword [esp + 0x10]
push 5
push 4
push dword [0x44e374]
push edx
call fcn.0043eec0
add esp, 0x1c
test eax, eax
js 0x41ca85
mov ebx, dword [esp + 8]
mov eax, dword [ebx]
mov dword [esp + 0xc], 0
mov esi, 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
jmp 0x41c751
mov ecx, edi
call fcn.0043c290
mov eax, dword [ebx]
test eax, eax
je 0x41caa2
mov ecx, dword [ebx + eax + 0x3c]
add ebx, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [ecx + edx]
movzx edi, word [esp + edx + 0x9fc]
test eax, eax
je 0x41c778
add edx, 2
cmp ax, di
je 0x41c760
movzx ecx, di
mov edx, ecx
xor edx, eax
not ecx
and ecx, eax
add ecx, ecx
cmp ecx, edx
jne 0x41c747
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0xdc]
mov dword [esp + 0x28], eax
lea edi, [esp + 0x1c]
mov ecx, edi
push 0x410
call fcn.0043c0a0
test eax, eax
js 0x41c747
mov ecx, edi
call fcn.0043c8c0
cmp eax, 2
jne 0x41ca6a
mov ecx, edi
push 0
push 0x30
lea eax, [esp + 0x170]
push eax
push 0
call fcn.0043c660
test eax, eax
js 0x41ca65
mov ecx, edi
push 0
push 0
push 0x28
lea eax, [esp + 0x63c]
push eax
push dword [esp + 0x184]
push dword [esp + 0x184]
call fcn.0043cc50
test eax, eax
js 0x41ca65
mov ecx, edi
push 0
push 0
push 0x80
lea eax, [esp + 0x1fc]
push eax
push dword [esp + 0x664]
push dword [esp + 0x664]
call fcn.0043cc50
test eax, eax
js 0x41ca65
movzx eax, word [esp + 0x262]
push eax
call fcn.0043bc30
add esp, 4
mov esi, eax
movzx eax, word [esp + 0x262]
mov ecx, edi
push 0
push 0
push eax
push esi
push dword [esp + 0x27c]
push dword [esp + 0x27c]
call fcn.0043cc50
test eax, eax
js 0x41ca65
movzx edi, word [esp + 0xa3c]
mov dword [esp + 0x2c], esi
mov dword [esp + 4], esi
test di, di
je 0x41c8d7
lea ecx, [esp + 0xa3c]
mov edx, dword [esp + 0x2c]
mov eax, edx
mov dword [esp + 4], edx
jmp 0x41c8a8
movzx edi, word [ecx]
test di, di
je 0x41c8d7
movzx esi, word [eax]
test si, si
je 0x41ca2a
add eax, 2
add ecx, 2
mov edx, dword [esp + 4]
add edx, 2
cmp si, di
je 0x41c8cc
mov dword [esp + 4], edx
mov eax, edx
je 0x41c8a0
lea ecx, [esp + 0xa3c]
jmp 0x41c8a0
cmp dword [esp + 4], 0
je 0x41ca2a
lea edi, [esp + 0x1c]
mov ecx, edi
push 0
push 0
push 0x58
lea eax, [esp + 0x1a4]
push eax
push dword [esp + 0x65c]
push dword [esp + 0x65c]
call fcn.0043cc50
test eax, eax
js 0x41ca58
mov ecx, dword [esp + 0x648]
mov edx, dword [esp + 0x64c]
lea eax, [ecx + ecx]
and eax, 0x40
xor ecx, 0x20
add ecx, eax
mov dword [esp + 4], ecx
adc edx, 0
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1ac]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], eax
jmp 0x41c982
cmp cx, dx
je 0x41ca30
push edi
call fcn.0043bcc0
add esp, 4
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov ecx, edx
xor ecx, dword [esp + 0x38]
mov esi, eax
xor esi, dword [esp + 4]
or esi, ecx
lea edi, [esp + 0x1c]
je 0x41ca58
mov ecx, edi
push 0
push 0
push 0x120
lea esi, [esp + 0x54]
push esi
push edx
push eax
call fcn.0043cc50
test eax, eax
js 0x41ca58
movzx eax, word [esp + 0xa2]
push eax
call fcn.0043bc30
add esp, 4
mov ecx, edi
mov edi, eax
movzx eax, word [esp + 0xa2]
push 0
push 0
push eax
push edi
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.0043cc50
test eax, eax
js 0x41c959
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [esp + eax + 0x9bc]
lea edx, [ecx - 0x41]
cmp dx, 0x1a
jae 0x41ca04
or ecx, 0x20
movzx edx, word [edi + eax]
lea esi, [edx - 0x41]
cmp si, 0x1a
jae 0x41ca14
or edx, 0x20
test cx, cx
je 0x41c950
add eax, 2
cmp cx, dx
je 0x41c9f0
jmp 0x41c950
lea edi, [esp + 0x1c]
jmp 0x41ca65
mov eax, dword [esp + 0x78]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], eax
push edi
call fcn.0043bcc0
add esp, 4
lea edi, [esp + 0x1c]
mov eax, dword [esp + 0x2c]
push eax
call fcn.0043bcc0
add esp, 4
mov esi, 8
mov eax, dword [esp + 0x14]
or eax, dword [esp + 0x10]
je 0x41c740
cmp dword [esp + 0xc], 0
je 0x41c740
jmp 0x41caa2
mov dword [esp + 0xc], 0
mov esi, 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
push dword [esp + 8]
call fcn.0043bcc0
add esp, 4
lea ebx, [esp + 0x1f0]
lea edi, [esp + 0x1c]
mov ecx, edi
call fcn.0043c280
test al, al
je 0x41d090
mov dword [esp + 4], esi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], eax
mov dword [esp + 0x1f0], 0xafaeb1b0
mov dword [esp + 0x1f4], 0xabaaadac
mov dword [esp + 0x1f8], 0xa7a6a9a8
mov dword [esp + 0x1fc], 0xa3a29e9f
mov dword [esp + 0x200], 0x9f9ea1a0
mov dword [esp + 0x204], 0x9b9a9d9c
mov dword [esp + 0x208], 0xacada2a3
mov dword [esp + 0x20c], 0x93929594
mov dword [esp + 0x210], 0x8f8e9190
mov dword [esp + 0x214], 0x8b8a8d8c
mov dword [esp + 0x218], 0x87868988
mov dword [esp + 0x21c], 0x83828584
mov dword [esp + 0x220], 0xfffe8180
mov dword [esp + 0x224], 0xfbfac6fc
mov dword [esp + 0x228], 0xf7f6f9c3
mov dword [esp + 0x22c], 0xc8c9cecf
mov dword [esp + 0x230], 0xefeef1f0
mov dword [esp + 0x234], 0xebeaedec
mov dword [esp + 0x238], 0xdce6e9e8
mov dword [esp + 0x23c], 0xe3d9dedf
mov dword [esp + 0x240], 0xe4e5dae0
mov dword [esp + 0x244], 0xdbdadddc
mov dword [esp + 0x248], 0xd7d6d9d8
mov dword [esp + 0x24c], 0xd3d2d5d4
mov dword [esp + 0x250], 0xcfced1d0
mov dword [esp + 0x254], 0xcbcacdcc
mov dword [esp + 0x258], 0xc7c6c9c8
mov dword [esp + 0x25c], 0xc3c2c5c4
mov dword [esp + 0x260], 0x3f3ec1c0
mov dword [esp + 0x264], 0x3b3a3d3c
mov dword [esp + 0x268], 0x37363938
mov dword [esp + 0x26c], 0x33090e0f
mov dword [esp + 0x270], 0x2f2e3130
mov dword [esp + 0x274], 0x2b2a2d2c
mov dword [esp + 0x278], 0x1c1d1228
mov dword [esp + 0x27c], 0x23222524
mov byte [esp + 0x280], 0xd8
mov byte [esp + 0x285], 0
mov dword [esp + 0x281], 0
mov dword [esp + 0x198], 0
mov eax, dword [esp + 0x198]
cmp eax, 0x95
ja 0x41cd0b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x198]
movzx ecx, byte [esp + ecx + 0x1f0]
mov edx, eax
xor edx, 0x716c560e
and eax, 0xf16c560e
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x630], eax
mov eax, dword [esp + 0x630]
add al, 0xba
mov ecx, dword [esp + 0x198]
mov byte [esp + ecx + 0x1f0], al
inc dword [esp + 0x198]
mov eax, dword [esp + 0x198]
cmp eax, 0x96
jb 0x41ccb0
mov dword [esp + 0x630], 0x400a7676
mov dword [esp + 0x634], 0xf04f2de8
mov dword [esp + 0x638], 0xe3844000
mov dword [esp + 0x63c], 0xd0d1cdcc
mov dword [esp + 0x640], 0xbb26ae35
mov dword [esp + 0x644], 0x9fa73c7c
mov dword [esp + 0x648], 0xbbbab9b8
mov dword [esp + 0x64c], 0x77ae3474
mov dword [esp + 0x650], 0x1c4ae523
mov dword [esp + 0x654], 0xebeae61a
mov dword [esp + 0x658], 0xe7e6e5e4
mov dword [esp + 0x65c], 0xe3e2e1e0
mov dword [esp + 0x660], 0x105a2626
mov dword [esp + 0x664], 0x1e5e95b8
mov dword [esp + 0x668], 0x9e115198
mov dword [esp + 0x66c], 0x9f9e9d9c
mov dword [esp + 0x670], 0x4ba25048
mov dword [esp + 0x674], 0x5762410d
mov dword [esp + 0x678], 0x8b130440
mov dword [esp + 0x67c], 0x678e8d8c
mov dword [esp + 0x680], 0x73727158
mov dword [esp + 0x684], 0xb1fdbd6c
mov dword [esp + 0x688], 0xb5f1b198
mov dword [esp + 0x68c], 0x9f5b594
mov dword [esp + 0x690], 0x636260d0
mov dword [esp + 0x694], 0x83a2e8a8
mov dword [esp + 0x698], 0x9be3a080
mov dword [esp + 0x69c], 0xdfe82aa4
mov dword [esp + 0x6a0], 0x53525151
mov dword [esp + 0x6a4], 0x9f565554
mov dword [esp + 0x6a8], 0xae4543d1
mov dword [esp + 0x6ac], 0x5a5e5d5c
mov dword [esp + 0x6b0], 0xa78eca88
mov dword [esp + 0x6b4], 0x66978d94
mov dword [esp + 0x6b8], 0x4b4a4960
mov dword [esp + 0x6bc], 0xcc863d50
mov byte [esp + 0x6c0], 0x30
mov dword [esp + 0x6c1], 0
mov dword [esp + 0x168], 0
mov eax, dword [esp + 0x168]
cmp eax, 0x94
ja 0x41cf3f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x168]
mov eax, dword [esp + 0x168]
movzx eax, byte [esp + eax + 0x630]
mov edx, ecx
not edx
or edx, 0x20346430
add edx, ecx
xor ecx, 0x20346430
lea esi, [ecx + edx*2]
lea ecx, [ecx + edx*2]
add ecx, 2
and ecx, eax
add eax, esi
add eax, 2
add ecx, ecx
sub eax, ecx
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x198]
add al, 0x10
mov ecx, dword [esp + 0x168]
mov byte [esp + ecx + 0x630], al
inc dword [esp + 0x168]
mov eax, dword [esp + 0x168]
cmp eax, 0x95
jb 0x41ced0
lea eax, [esp + 0x630]
lea ecx, [esp + 0x48]
push ebx
push 0x90
push eax
push edi
call fcn.0043d9b0
mov dword [esp + 0x16c], edx
mov dword [esp + 0x168], eax
or eax, edx
je 0x41d090
lea eax, [esp + 0x168]
lea ecx, [esp + 0x48]
push 0
push 8
push eax
push edi
call fcn.0043d9b0
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], eax
or eax, edx
je 0x41d090
lea eax, [esp + 0x40]
lea edx, [esp + 0x198]
lea ecx, [esp + 0x1c]
push 0
push 8
push eax
push edx
call fcn.0043cea0
mov eax, dword [esp + 0x198]
cmp eax, dword [esp + 0x19c]
je 0x41d090
call fcn.00404ab0
mov esi, eax
push eax
call fcn.004046e0
add esp, 4
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x14], eax
cmp edi, eax
je 0x41d0e7
mov dword [esp + 8], esi
xor eax, eax
add dword [esp + 4], 0x28
setb al
mov dword [esp + 0x10], eax
xor ebx, ebx
lea ecx, [esp + 0x1c]
jmp 0x41d025
xor eax, eax
lea ecx, [esp + 0x1c]
or bl, al
add edi, 8
cmp edi, dword [esp + 0x14]
je 0x41d0a5
mov eax, dword [edi]
add eax, dword [esp + 4]
mov edx, dword [edi + 4]
adc edx, dword [esp + 0x10]
push 0
push 0
push 0x18
lea esi, [esp + 0x63c]
push esi
push edx
push eax
call fcn.0043cc50
test eax, eax
js 0x41d010
mov eax, dword [esp + 0x638]
mov edx, dword [esp + 0x63c]
mov ecx, eax
or ecx, edx
je 0x41d010
lea ecx, [esp + 0x1c]
push 0
push 0
push 0x40
lea esi, [esp + 0x1fc]
push esi
push edx
push eax
call fcn.0043cc50
test eax, eax
js 0x41d010
lea ecx, [esp + 0x1c]
mov edx, esi
push dword [esp + 0xc]
call fcn.0041ea60
add esp, 4
jmp 0x41d012
xor ebx, ebx
lea ecx, [esp + 0x1c]
call fcn.0043c290
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test bl, bl
je 0x41d0ee
push dword [esp + 0xc]
call fcn.004048b0
add esp, 4
test eax, eax
mov esi, dword [esp + 8]
je 0x41d260
mov eax, 0xfffffffe
mov edi, dword [esp + 0x3c]
nop
nop
nop
nop
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x41d0d0
cmp eax, 0xffffffed
jge 0x41d0f5
mov eax, 0xffffffff
jmp 0x41d0f8
xor ebx, ebx
jmp 0x41d260
xor ebx, ebx
jmp 0x41d25c
add eax, 0x12
push eax
call fcn.0040c8e0
add esp, 4
mov ebx, eax
mov dword [esp + 0x1f0], 0x11e01fcd
mov dword [esp + 0x1f4], 0x159b13f7
mov dword [esp + 0x1f8], 0x98217ca
mov dword [esp + 0x1fc], 0xd9e0b80
mov dword [esp + 0x200], 0xf0c
mov byte [esp + 0x204], 0
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 0x14
ja 0x41d1b4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
movzx ecx, byte [esp + ecx + 0x1f0]
mov edx, eax
xor edx, 0xe8bc5ac5
mov esi, eax
xor esi, 0x1743a53a
or eax, 0x68bc5ac5
and eax, esi
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x630], eax
mov eax, dword [esp + 0x630]
add al, 0x27
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x1f0], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 0x15
jb 0x41d160
movzx ecx, word [edi]
mov eax, ebx
test cx, cx
je 0x41d1e1
add edi, 2
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x41d1d0
mov word [eax], 0
movzx ecx, word [esp + 0x1f0]
test cx, cx
mov esi, dword [esp + 8]
je 0x41d211
lea edx, [esp + 0x1f2]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41d200
mov word [eax], 0
mov edi, 0xffffffff
push esi
call fcn.004056f0
add esp, 4
mov esi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + edi + 1], 0
lea edi, [edi + 1]
jne 0x41d230
mov ecx, dword [esp + 0x34]
push edi
push esi
push ebx
call fcn.0040d300
mov edi, ebx
mov ebx, eax
push esi
call fcn.00405780
add esp, 4
push edi
call fcn.0040c8f0
add esp, 4
mov esi, dword [esp + 8]
push esi
call fcn.004048f0
add esp, 4
and bl, 1
mov eax, dword [esp + 0x198]
test eax, eax
je 0x41d092
cmp eax, dword [esp + 0x19c]
je 0x41d092
push eax
call fcn.0040c8f0
add esp, 4
jmp 0x41d092