Function at 0x41a880
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, 0x308
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x154], 0xfb6a111b
mov byte [esp + 0x158], 0xe0
mov dword [esp + 0x159], 0
mov byte [esp + 0x15d], 0
xor esi, esi
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + edx + 0x154]
mov dword [esp + 0x24], ecx
mov eax, esi
and eax, 0x12
mov ebx, edx
xor ebx, 0x8eff8fa9
add ebx, eax
mov edi, ebx
and edi, ecx
mov ecx, edi
or ecx, 0xfd
inc ecx
mov eax, edi
and eax, 0xfffffffd
imul eax, ecx
mov ecx, edi
and ecx, 2
or edi, 2
imul edi, ecx
sub eax, edi
add ebx, dword [esp + 0x24]
add ebx, eax
add bl, 0xb3
mov byte [esp + edx + 0x154], bl
inc edx
add esi, 2
cmp edx, 0xa
jne 0x41a8e0
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
movzx ecx, byte [esp + 0x154]
test cl, cl
je 0x41a95b
lea edx, [esp + 0x155]
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41a950
mov byte [esi], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
lea eax, [esp + 0x58]
lea ecx, [esp + 0x68]
lea edx, [esp + 0x38]
xor ebx, ebx
push eax
push ecx
push edx
mov eax, dword [ebp + 0x14]
push dword [eax + 0x10]
push dword [ebp + 0x10]
push dword [eax + 0xc]
call fcn.0041cf70
add esp, 0x18
test al, al
je 0x41bd2b
mov dword [esp + 0x154], 0x89213330
mov byte [esp + 0x158], 0x84
mov dword [esp + 0x159], 0
mov byte [esp + 0x15d], 0
mov eax, 0x24f59adf
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + edi + 0x154]
mov edx, eax
and edx, 0x20a1004d
mov ebx, edi
and ebx, 2
add edx, ebx
add edx, 0x50082000
xor edx, ecx
mov ecx, edx
and ecx, 0x5f
add ecx, ecx
xor edx, 0xcd
xor ecx, 0x9a
sub ecx, edx
mov byte [esp + edi + 0x154], cl
inc edi
dec eax
cmp edi, 0xa
jne 0x41a9e0
movzx eax, byte [esp + 0x154]
test al, al
je 0x41aa4d
lea ecx, [esp + 0x155]
lea edi, [esp + 0x38]
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41aa40
jmp 0x41aa51
lea edi, [esp + 0x38]
mov byte [esi], 0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x144], edx
mov dword [esp + 0x140], ecx
mov dword [esp + 0x148], eax
mov dword [esp + 0x88], 0xa6aea279
mov dword [esp + 0x8c], 0x9d82bf98
mov dword [esp + 0x90], 0x63979ea5
mov dword [esp + 0x94], 0x60616263
mov dword [esp + 0x98], 0x968f6db0
mov dword [esp + 0x9c], 0x5daaacb6
mov dword [esp + 0xa0], 0x5c5d5e5f
mov dword [esp + 0xa4], 0x5459818e
mov dword [esp + 0xa8], 0x8eab9eab
mov dword [esp + 0xac], 0x8080a2b3
mov dword [esp + 0xb0], 0xa25994b4
mov dword [esp + 0xb4], 0x4bb0ad8a
mov dword [esp + 0xb8], 0x4c9e8e50
mov dword [esp + 0xbc], 0xeced2e32
mov dword [esp + 0xc0], 0xf33936f7
mov dword [esp + 0xc4], 0x30313233
mov dword [esp + 0xc8], 0xe6d3edeb
mov dword [esp + 0xcc], 0x283dc42d
mov dword [esp + 0xd0], 0x2cd7f5d8
mov dword [esp + 0xd4], 0x29212223
mov dword [esp + 0xd8], 0x242526da
mov dword [esp + 0xdc], 0xd6ef121b
mov dword [esp + 0xe0], 0x170aea16
mov dword [esp + 0xe4], 0xe506e5e2
mov dword [esp + 0xe8], 0x14151617
mov dword [esp + 0xec], 0xee1e02d7
mov dword [esp + 0xf0], 0xd10bde0f
mov dword [esp + 0xf4], 0x15e40b
mov dword [esp + 0xf8], 0x4050607
mov dword [esp + 0xfc], 0x4f9fafb
mov dword [esp + 0x100], 0xfa2f2aeb
mov dword [esp + 0x104], 0xf0f1f2f3
mov dword [esp + 0x108], 0x2f011025
mov dword [esp + 0x10c], 0xe33afeeb
mov byte [esp + 0x110], 0xa8
mov byte [esp + 0x113], 0
mov word [esp + 0x111], 0
xor eax, eax
mov cl, 0x73
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x88]
xor dl, cl
mov ch, 0x43
sub ch, dl
mov byte [esp + eax + 0x88], ch
inc eax
dec cl
cmp eax, 0x8c
jne 0x41ac10
mov dword [esp + 0x154], 0x9cdececa
mov dword [esp + 0x158], 0xb499fb34
mov dword [esp + 0x15c], 0xc1a86424
mov dword [esp + 0x160], 0xd5dadbd8
mov dword [esp + 0x164], 0xe95ad66b
mov dword [esp + 0x168], 0xd5c16828
mov dword [esp + 0x16c], 0xc9cecfcc
mov dword [esp + 0x170], 0x3dda7030
mov dword [esp + 0x174], 0x201ebb79
mov dword [esp + 0x178], 0x89b6be26
mov dword [esp + 0x17c], 0x8d8a8b88
mov dword [esp + 0x180], 0x818e8f8c
mov dword [esp + 0x184], 0x4c0e1e1a
mov dword [esp + 0x188], 0x560a3be4
mov dword [esp + 0x18c], 0xd65b179a
mov dword [esp + 0x190], 0xe5eaebe8
mov dword [esp + 0x194], 0x1986341c
mov dword [esp + 0x198], 0x9d3e1f5b
mov dword [esp + 0x19c], 0x99152864
mov dword [esp + 0x1a0], 0x4d9a9b98
mov dword [esp + 0x1a4], 0x9196978c
mov dword [esp + 0x1a8], 0x73276b90
mov dword [esp + 0x1ac], 0x7f3b77ac
mov dword [esp + 0x1b0], 0x2b3f7350
mov dword [esp + 0x1b4], 0x81868784
mov dword [esp + 0x1b8], 0x617e3474
mov dword [esp + 0x1bc], 0x890544bc
mov dword [esp + 0x1c0], 0xb504c240
mov dword [esp + 0x1c4], 0xb1b6b7b4
mov dword [esp + 0x1c8], 0x55b2b3b0
mov dword [esp + 0x1cc], 0x86afa517
mov dword [esp + 0x1d0], 0xa5aaaba8
mov dword [esp + 0x1d4], 0x7d52125c
mov dword [esp + 0x1d8], 0x3e715ba0
mov byte [esp + 0x1dc], 0x5c
mov word [esp + 0x1e1], 0
mov dword [esp + 0x1dd], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xf9
xor cl, byte [esp + eax + 0x154]
add cl, 0x23
mov byte [esp + eax + 0x154], cl
inc eax
cmp eax, 0x8f
jne 0x41add0
lea eax, [esp + 0x88]
lea edx, [esp + 0x154]
lea ecx, [esp + 0x140]
push eax
push 0x88
push edx
push edi
call fcn.00439f60
mov dword [esp + 0x13c], edx
mov dword [esp + 0x138], eax
or eax, edx
je 0x41bd29
mov dword [esp + 0x154], 0x49d0d5a4
mov byte [esp + 0x158], 0x44
mov dword [esp + 0x159], 0
mov word [esp + 0x15d], 0
mov eax, 0xe2db4d10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x1d24b444]
xor ecx, eax
mov edx, ecx
xor edx, 0x50
mov ebx, ecx
or ebx, 0xaf
and ebx, edx
mov edx, ecx
or edx, 0x50
sub ecx, edx
add ecx, ebx
mov byte [esp + eax + 0x1d24b444], cl
inc eax
cmp eax, 0xe2db4d1b
jne 0x41ae60
movzx eax, byte [esp + 0x154]
test al, al
je 0x41aebb
lea ecx, [esp + 0x155]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41aeb0
mov byte [esi], 0
lea eax, [esp + 0x138]
lea ecx, [esp + 0x140]
push 0
push 8
push eax
push edi
call fcn.00439f60
mov dword [esp + 0x134], edx
mov dword [esp + 0x130], eax
xor ebx, ebx
or eax, edx
je 0x41bd2b
mov dword [esp + 0x154], 0xf1141c6e
mov byte [esp + 0x158], 0xfc
mov dword [esp + 0x159], 0
mov dword [esp + 0x15c], 0
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
add al, 0xaa
xor al, byte [esp + ebx + 0x154]
add al, 0xae
mov byte [esp + ebx + 0x154], al
mov eax, ebx
and eax, 1
xor ebx, 1
lea ebx, [ebx + eax*2]
cmp ebx, 0xc
jb 0x41af20
movzx eax, byte [esp + 0x154]
test al, al
je 0x41af6b
lea ecx, [esp + 0x155]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41af60
mov byte [esi], 0
lea eax, [esp + 0x130]
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x38]
push 0
push 8
push eax
push edx
call fcn.004394f0
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x60]
je 0x41bd29
mov dword [esp + 0x154], 0xcf59c955
mov dword [esp + 0x158], 0xc366cd69
mov dword [esp + 0x15c], 0xc763c15b
mov dword [esp + 0x160], 0xbb1fc516
mov dword [esp + 0x164], 0xbf1bb930
mov word [esp + 0x168], 0xbdbc
mov dword [esp + 0x16a], 0
mov eax, 0xfd2cca32
mov ecx, 0x2d335cd
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x2d33722]
mov edi, eax
xor edi, edx
or edi, ecx
not edi
add edi, edi
mov ebx, edi
not ebx
and ebx, eax
and edi, ecx
sub edx, edi
add edx, ebx
add edx, 0xe200d05
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
mov byte [esp + eax + 0x2d33722], dl
inc eax
dec ecx
cmp eax, 0xfd2cca4c
jne 0x41aff0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0xc]
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [eax + ecx]
movzx edx, word [esp + ecx + 0x154]
test bx, bx
je 0x41b059
add ecx, 2
cmp bx, dx
je 0x41b040
mov word [esp + 6], dx
mov dword [esp + 0x154], 0xc9666511
mov byte [esp + 0x158], 0xec
mov word [esp + 0x159], 0
mov byte [esp + 0x15b], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ecx, [eax + eax]
mov edi, ecx
and edi, 8
mov edx, eax
xor edx, 0x2c
add edx, edi
xor dl, byte [esp + eax + 0x154]
add dl, 0x24
mov byte [esp + eax + 0x154], dl
and ecx, 2
xor eax, 1
add eax, ecx
cmp eax, 8
jb 0x41b090
movzx eax, byte [esp + 0x154]
test al, al
je 0x41b0ed
lea ecx, [esp + 0x155]
movzx edx, word [esp + 6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41b0e0
jmp 0x41b0f2
movzx edx, word [esp + 6]
mov byte [esi], 0
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x118], eax
cmp ecx, eax
je 0x41bd29
mov eax, ebx
xor ebx, ebx
mov dword [esp + 0x34], 0x1a8
mov word [esp + 0x4a], ax
cmp ax, dx
je 0x41b12a
mov dword [esp + 0x34], 0x190
mov dword [esp + 0x54], 0x1b0
lea eax, [esp + 0x88]
je 0x41b143
mov dword [esp + 0x54], 0x198
mov dword [esp + 0x4c], 0x20
je 0x41b155
mov dword [esp + 0x4c], 0x10
not eax
mov dword [esp + 0x114], eax
jmp 0x41b17b
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x11c]
add ecx, 8
cmp ecx, dword [esp + 0x118]
je 0x41bdcd
mov dword [esp + 0x50], ebx
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
mov dword [esp + 0x11c], ecx
mov eax, dword [ecx + 4]
mov dword [esp], eax
push 0x1b0
push 0
lea eax, [esp + 0x15c]
push eax
call fcn.0040ca70
add esp, 0xc
xor edi, edi
lea ebx, [esp + 0x38]
jmp 0x41b1ce
lea ebx, [esp + 0x38]
inc edi
cmp edi, 0xb
je 0x41b3d0
mov ecx, ebx
push 0
push 0
push dword [esp + 0x5c]
lea eax, [esp + 0x160]
push eax
push dword [esp + 0x10]
push dword [esp + 0x38]
call fcn.00439390
test eax, eax
js 0x41b1c4
cmp byte [esp + 0x224], 0
sete cl
xor cl, 0x31
cmp byte [esp + 0x225], 0
mov byte [esp + 0x70], cl
sete al
xor al, 0x31
mov byte [esp + 0x71], al
cmp byte [esp + 0x226], 0
sete al
xor al, 0x31
mov byte [esp + 0x72], al
mov eax, dword [esp + 0x34]
cmp byte [esp + eax + 0x154], 0
sete al
xor al, 0x31
mov byte [esp + 0x73], al
mov word [esp + 0x74], 0xa
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi + eax], cl
movzx ecx, byte [esp + eax + 0x71]
inc eax
test cl, cl
jne 0x41b250
mov byte [esi + eax], 0
movzx ecx, byte [esp + 0x226]
test cl, cl
jne 0x41b3f0
cmp byte [esp + 0x224], 0
jne 0x41b28f
mov edx, dword [esp + 0x194]
or edx, dword [esp + 0x198]
je 0x41b3f0
add esi, eax
mov dword [esp + 0x88], 0xdba5acb5
mov byte [esp + 0x8c], 0xd0
lea eax, [esp + 0x8d]
mov word [eax + 4], 0
mov dword [eax], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xcd
xor cl, byte [esp + eax + 0x88]
dec cl
mov byte [esp + eax + 0x88], cl
inc eax
cmp eax, 0xb
jne 0x41b2c0
movzx eax, byte [esp + 0x88]
test al, al
je 0x41b2fb
lea ecx, [esp + 0x89]
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41b2f0
mov byte [esi], 0
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0xff676980
mov dword [esp + 0x88], 0x585b5a45
lea eax, [esp + 0x8d]
mov byte [eax + 1], 0
mov word [eax - 1], 0
xor eax, eax
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x88]
lea edx, [eax + 0x28dfd0f]
mov ebx, 0xf0
sub ebx, eax
xor ebx, edx
and ebx, ecx
xor ebx, edx
mov ecx, ebx
and ecx, 1
xor ebx, 1
lea ecx, [ebx + ecx*2]
add cl, 0xb4
mov byte [esp + eax + 0x88], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 7
jb 0x41b330
mov eax, dword [0x44ac38]
test eax, eax
je 0x41b1c0
mov ecx, dword [esp + 0x88]
xor edx, edx
mov ebx, dword [0x44ac3c]
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x3568c09b
je 0x41b3a3
inc edx
cmp eax, edx
jne 0x41b390
jmp 0x41b1c0
mov eax, dword [ebx + edx*8 + 4]
cmp eax, ecx
je 0x41b1c0
lea ecx, [esp + 8]
push ecx
push 0
push 1
push eax
push dword [0x44ac40]
call fcn.0043b650
add esp, 0x14
jmp 0x41b1c0
movzx ecx, byte [esp + 0x226]
test cl, cl
jne 0x41b3fa
jmp 0x41b160
add esi, eax
test cl, cl
je 0x41b160
call fcn.00404be0
mov dword [esp + 0x24], eax
push eax
call fcn.00404810
add esp, 4
mov dword [esp], eax
mov dword [esp + 0x88], 0x19fff3f9
mov byte [esp + 0x8c], 0x1c
lea eax, [esp + 0x8d]
mov byte [eax + 4], 0
mov dword [eax], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x88]
lea edx, [eax - 0x33301dbc]
xor edx, ecx
add edx, 0xfff094ab
mov ecx, edx
and ecx, 1
xor edx, 1
lea ecx, [edx + ecx*2]
mov byte [esp + eax + 0x88], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0xa
jb 0x41b440
movzx eax, byte [esp + 0x88]
test al, al
je 0x41b49b
lea ecx, [esp + 0x89]
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41b490
mov byte [esi], 0
mov eax, dword [esp + 0x18c]
mov edx, dword [esp + 0x190]
xor ebx, ebx
mov ecx, eax
or ecx, edx
je 0x41b500
lea ecx, [esp + 0x38]
push 0
push 0
push 0x40
lea edi, [esp + 0x94]
push edi
push edx
push eax
call fcn.00439390
test eax, eax
js 0x41b500
xor eax, eax
movzx ecx, word [esp + 6]
cmp word [esp + 0x4a], cx
sete al
lea ecx, [esp + 0x38]
mov edx, edi
push eax
push dword [esp + 4]
call fcn.0041da40
add esp, 8
mov ecx, eax
jmp 0x41b502
xor ecx, ecx
mov dword [esp + 0x88], 0x9f38303b
mov byte [esp + 0x8c], 0x88
lea eax, [esp + 0x8d]
mov byte [eax + 4], 0
mov dword [eax], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
add al, 0xe3
xor al, byte [esp + ebx + 0x88]
add al, 0x91
mov byte [esp + ebx + 0x88], al
inc ebx
cmp ebx, 0xa
jne 0x41b530
movzx eax, byte [esp + 0x88]
mov ebx, ecx
test al, al
je 0x41b580
lea ecx, [esp + 0x89]
lea edi, [esp + 0x38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41b570
jmp 0x41b584
lea edi, [esp + 0x38]
mov byte [esi], 0
push dword [esp]
call fcn.004049e0
add esp, 4
test eax, eax
setne cl
and cl, bl
cmp cl, 1
jne 0x41b740
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2ac]
mov edx, dword [esp + 0x2b0]
add eax, 0x28
adc edx, 0
mov ecx, edi
push 0
push 0
push 8
lea ebx, [esp + 0x134]
push ebx
push edx
push eax
call fcn.00439390
test eax, eax
js 0x41b9d0
mov eax, dword [esp + 0x128]
mov edx, dword [esp + 0x12c]
add eax, 0x10
adc edx, 0
mov ecx, edi
push 0
push 0
push 8
lea ebx, [esp + 0x12c]
push ebx
push edx
push eax
call fcn.00439390
test eax, eax
js 0x41b9d0
mov eax, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
add edx, dword [esp + 0x4c]
adc eax, 0
mov ecx, edi
push 0
push 0
push 0x18
lea edi, [esp + 0x7c]
push edi
push eax
push edx
call fcn.00439390
test eax, eax
js 0x41b9d0
cmp byte [esp + 0x87], 0
lea eax, [esp + 0x70]
mov dword [esp + 0x2c], eax
js 0x41b748
mov dword [esp + 8], 0x13a111bd
mov dword [esp + 0xc], 0x6fdc6dd1
mov dword [esp + 0x10], 0x6b366908
mov dword [esp + 0x14], 0x67ea65c5
mov dword [esp + 0x18], 0x63c661c1
mov word [esp + 0x1c], 0x7d7c
lea eax, [esp + 0x1e]
mov word [eax + 4], 0
mov dword [eax], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
and edx, 0x38
mov edi, ecx
xor edi, 0x594557bc
mov ebx, edx
and ebx, edi
xor edi, edx
lea edx, [edi + ebx*2]
movzx edi, byte [esp + ecx + 8]
xor edx, edi
mov edi, edx
and edi, 0x53
xor edx, 0x53
lea edx, [edx + edi*2]
inc dl
mov byte [esp + ecx + 8], dl
inc ecx
add eax, 2
cmp ecx, 0x1c
jne 0x41b6a0
movzx ebx, word [esp + 8]
test bx, bx
je 0x41b7a0
lea eax, [esp + 8]
mov ecx, dword [esp + 0x2c]
mov edx, ecx
mov dword [esp], ecx
jmp 0x41b70c
movzx ebx, word [eax]
test bx, bx
je 0x41b7bb
movzx edi, word [edx]
test di, di
je 0x41b7ad
add edx, 2
add eax, 2
mov ecx, dword [esp]
add ecx, 2
cmp di, bx
je 0x41b72e
mov dword [esp], ecx
mov edx, ecx
je 0x41b700
lea eax, [esp + 8]
jmp 0x41b700
mov dword [esp], ebx
jmp 0x41bd0e
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
mov eax, ebx
or eax, edi
je 0x41b9d0
mov eax, dword [esp + 0x78]
lea ecx, [eax*2 + 2]
inc eax
mov dword [esp], ecx
mov eax, ecx
jns 0x41b772
mov eax, 0xffffffff
push eax
call fcn.0040c9f0
add esp, 4
lea ecx, [esp + 0x38]
push 0
push 0
push dword [esp + 8]
mov dword [esp + 0x38], eax
push eax
push edi
push ebx
call fcn.00439390
test eax, eax
jns 0x41b653
jmp 0x41b9d0
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x88]
jmp 0x41b7cf
lea eax, [esp + 0x88]
mov ebx, eax
jmp 0x41b9a3
lea eax, [esp + 0x88]
mov ebx, eax
mov edx, dword [esp]
test edx, edx
je 0x41b9a3
movzx edi, word [edx + 0x14]
mov ebx, eax
test di, di
je 0x41b9a3
lea ecx, [edx + 0x14]
mov dword [esp], ecx
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp di, 0x5c
je 0x41b80a
movzx edi, word [edx + ecx + 0x16]
add ecx, 2
test di, di
jne 0x41b7f0
mov ebx, eax
jmp 0x41b9a3
mov ebx, eax
test ecx, ecx
mov edx, dword [esp]
je 0x41b8c9
sar ecx, 1
mov edi, ecx
and edi, 3
je 0x41b864
mov dword [esp + 0x28], edi
xor edi, edi
mov ebx, eax
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [edx]
mov word [esp], ax
xor eax, eax
cmp word [esp], 0
setne al
lea edx, [edx + eax*2]
movzx eax, word [esp]
mov word [ebx], ax
add ebx, 2
inc edi
cmp dword [esp + 0x28], edi
jne 0x41b830
mov eax, ecx
sub eax, edi
mov edi, eax
lea eax, [esp + 0x88]
jmp 0x41b868
mov ebx, eax
mov edi, ecx
dec ecx
cmp ecx, 3
jb 0x41b8c9
nop
nop
movzx eax, word [edx]
xor ecx, ecx
test ax, ax
setne cl
mov word [ebx], ax
lea eax, [edx + ecx*2]
movzx ecx, word [edx + ecx*2]
xor edx, edx
test cx, cx
setne dl
mov word [ebx + 2], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
mov word [ebx + 4], ax
lea eax, [ecx + edx*2]
movzx ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edx, [eax + edx*2]
mov word [ebx + 6], cx
add ebx, 8
add edi, 0xfffffffc
jne 0x41b870
lea eax, [esp + 0x88]
mov word [ebx], 0
mov ecx, dword [esp + 0x34]
cmp byte [esp + ecx + 0x154], 0
jne 0x41b9a3
mov dword [esp + 8], 0xfd70928
mov dword [esp + 0xc], 0x3e50dfe
mov dword [esp + 0x10], 0x7fd01f3
mov dword [esp + 0x14], 0x1be305f6
mov dword [esp + 0x18], 0x1fed19ec
mov word [esp + 0x1c], 0x1d1c
lea eax, [esp + 0x1e]
mov word [eax + 4], 0
mov dword [eax], 0
mov eax, 0x7fe49dfa
mov ecx, 0x801b6306
nop
nop
nop
nop
nop
nop
nop
mov dword [esp], ecx
movzx edi, byte [esp + eax - 0x7fe49df2]
mov dword [esp + 0x28], edi
not edi
lea edx, [ecx + 0x7fe49db7]
or edx, edi
mov ecx, dword [esp + 0x28]
lea edx, [ecx + edx*2]
lea edi, [eax + edx]
dec edi
mov ecx, dword [esp]
sub ecx, edx
or ecx, 1
or edi, 1
add edi, ecx
mov ecx, dword [esp]
add edx, eax
add edx, edi
mov byte [esp + eax - 0x7fe49df2], dl
inc eax
dec ecx
cmp eax, 0x7fe49e16
jne 0x41b930
movzx eax, word [esp + 8]
test ax, ax
je 0x41b997
lea ecx, [esp + 0xa]
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41b986
mov word [ebx], 0
lea eax, [esp + 0x88]
cmp byte [esp + 0x87], 0
jns 0x41b9c0
push dword [esp + 0x2c]
call fcn.0040ca00
lea eax, [esp + 0x8c]
add esp, 4
cmp eax, ebx
jne 0x41ba66
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 8], 0x21b0275f
mov dword [esp + 0xc], 0x5db323bd
mov dword [esp + 0x10], 0x59c85fc5
mov dword [esp + 0x14], 0x55d65bc3
mov dword [esp + 0x18], 0x515657c5
lea eax, [esp + 0x1e]
mov byte [eax], 0
mov word [eax - 2], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x39
xor cl, byte [esp + eax + 8]
add cl, 0xe3
mov byte [esp + eax + 8], cl
inc eax
cmp eax, 0x17
jne 0x41ba10
movzx eax, word [esp + 8]
lea ebx, [esp + 0x88]
test ax, ax
je 0x41ba61
lea ecx, [esp + 0xa]
lea ebx, [esp + 0x88]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41ba50
mov word [ebx], 0
mov eax, ebx
not eax
lea edi, [esp + 0x88]
and eax, edi
mov edx, ebx
and edx, dword [esp + 0x114]
sub edx, eax
mov ecx, edx
shr ecx, 2
mov eax, edi
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ecx, edx
and ecx, 0xfffffffc
lea edi, [esi + ecx]
lea eax, [esp + ecx]
add eax, 0x88
mov ecx, edx
shr ecx, 1
and ecx, 1
mov dword [esp + 0x28], eax
mov dword [esp], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
mov ebx, edx
je 0x41bac8
mov ecx, ebx
and ecx, 2
mov eax, dword [esp + 0x28]
movzx eax, byte [eax + ecx]
mov edx, dword [esp]
mov byte [edx + ecx], al
push 0xa
push 0xb
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x3c]
call fcn.0041d870
add esp, 0x10
mov dword [esp + 8], 0xdda5ab4e
mov dword [esp + 0xc], 0x4d629460
lea ecx, [esp + 0x1e]
mov byte [ecx - 0xc], 0
mov word [ecx - 0xe], 0
xor ecx, ecx
nop
nop
nop
mov edx, ecx
add dl, 0x91
xor dl, byte [esp + ecx + 8]
add dl, 0x2b
mov byte [esp + ecx + 8], dl
mov edx, ecx
xor edx, 0xfffffffe
or ecx, 1
and edx, ecx
add ecx, edx
cmp ecx, 0xb
jb 0x41bb00
add esi, ebx
movzx ecx, byte [esp + 8]
test cl, cl
je 0x41bb3b
lea edx, [esp + 9]
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41bb30
mov byte [esi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x41bb5b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x41bb50
mov byte [esi], 0xa
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x41bb70
sar eax, 1
sar ebx, 1
lea ecx, [ebx + eax]
add ecx, 0xa
test ecx, ecx
jns 0x41bb90
mov eax, 0xffffffff
jmp 0x41bb99
add ebx, eax
lea eax, [ebx*2 + 0x14]
push eax
call fcn.0040c9f0
add esp, 4
movzx ecx, word [edi]
mov edx, eax
test cx, cx
je 0x41bbd1
add edi, 2
mov edx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x41bbc0
mov dword [esp + 0x30], eax
inc esi
mov eax, edx
mov word [edx], 0x2f
mov dword [esp + 8], 0x8f5c897b
mov dword [esp + 0xc], 0x83098d29
mov dword [esp + 0x10], 0x87328172
mov dword [esp + 0x14], 0x9b2e850c
mov word [esp + 0x18], 0x9998
mov dword [esp + 0x1a], 0
mov ecx, 0xe2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0xda]
lea edi, [ecx - 0x3cef3c00]
or edi, edx
and edx, ecx
xor edx, edi
lea ebx, [edx*2 + 0x61584f2a]
add edx, 0x30ac2795
and ebx, 2
mov edi, ebx
and edi, edx
or ebx, edx
xor ebx, 1
add ebx, edi
mov byte [esp + ecx - 0xda], bl
inc ecx
cmp ecx, 0xf8
jne 0x41bc20
add eax, 2
movzx ecx, word [esp + 0x88]
test cx, cx
je 0x41bc91
lea edx, [esp + 0x8a]
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 0x41bc80
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x41bcc1
lea edx, [esp + 0xa]
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 0x41bcb0
mov word [eax], 0
mov ebx, 0xffffffff
push dword [esp + 0x24]
call fcn.00405780
add esp, 4
mov edi, eax
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x41bce0
mov ecx, dword [ebp + 8]
push ebx
push edi
mov ebx, dword [esp + 0x38]
push ebx
call fcn.0040d340
mov dword [esp], eax
push edi
call fcn.00405820
add esp, 4
push ebx
call fcn.0040ca00
add esp, 4
push dword [esp + 0x24]
call fcn.00404a20
add esp, 4
mov ebx, dword [esp + 0x50]
and bl, 1
or bl, byte [esp]
jmp 0x41b164
xor ebx, ebx
lea ecx, [esp + 0x38]
call fcn.00438ba0
mov dword [esp + 0x154], 0x4bdadfeb
mov byte [esp + 0x158], 0x40
mov dword [esp + 0x159], 0
mov eax, 0xfe8967f1
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x1769963]
xor ecx, eax
lea edx, [ecx + ecx]
and edx, 0xc00d094
mov edi, edx
and edi, ecx
xor edx, ecx
xor edx, 0x4a
lea ecx, [edx + edi*2]
inc cl
mov byte [esp + eax + 0x1769963], cl
inc eax
cmp eax, 0xfe8967fa
jne 0x41bd60
movzx eax, byte [esp + 0x154]
test al, al
je 0x41bdbb
lea ecx, [esp + 0x155]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41bdb0
mov byte [esi], 0
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x5c]
and bl, 1
test eax, eax
je 0x41bd2b
cmp eax, dword [esp + 0x60]
je 0x41bd2b
push eax
call fcn.0040ca00
add esp, 4
mov dword [esp + 0x5c], 0
jmp 0x41bd2b