Function at 0x41a7f0
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 eax, dword [ebp + 0x10]
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x154], 0x990e073d
mov byte [esp + 0x158], 0x9c
mov dword [esp + 0x159], 0
mov word [esp + 0x15d], 0
mov ecx, 0x34ad1801
mov edx, 0x695a3002
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x34ad16ad]
mov edi, edx
and edi, 0x20401008
mov ebx, ecx
xor ebx, 0xda328ea4
add edi, ebx
add edi, 0xcb52e7ff
xor edi, esi
lea ebx, [edi + 0xcb]
mov esi, 0x34
sub esi, edi
or esi, 1
add esi, edi
or ebx, 1
add ebx, esi
add bl, 0xcc
mov byte [esp + ecx - 0x34ad16ad], bl
inc ecx
add edx, 2
cmp ecx, 0x34ad180c
jne 0x41a850
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx]
movzx ecx, byte [esp + 0x154]
test cl, cl
je 0x41a8cb
lea edx, [esp + 0x155]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41a8c0
mov byte [esi], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
lea ecx, [esp + 0x50]
lea edx, [esp + 0x60]
lea edi, [esp + 0x34]
push ecx
push edx
push edi
mov ecx, dword [ebp + 0x14]
push dword [ecx + 0x10]
push eax
push dword [ecx + 0xc]
call fcn.0041d290
add esp, 0x18
test al, al
je 0x41b104
mov dword [esp + 0x154], 0xfb1b1514
mov byte [esp + 0x158], 0xe0
mov dword [esp + 0x159], 0
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + edx + 0x154]
lea edi, [edx - 0x5067b157]
and edi, ecx
add edi, edi
add ecx, edx
add ecx, 0xaf984ea9
mov dword [esp + 0x28], ecx
sub ecx, edi
mov ebx, ecx
and ebx, 0xb0
mov eax, ecx
and eax, 2
mov edi, eax
xor edi, 2
imul edi, ebx
or ebx, 2
imul ebx, eax
add ebx, edi
lea eax, [ecx + ecx]
and eax, 0x64
neg eax
lea edi, [ecx + eax]
add edi, 0x920676b2
add edi, ebx
mov eax, dword [esp + 0x28]
lea ebx, [eax + eax]
and eax, 1
and edi, 0xfe
or edi, eax
add ecx, 0x920676b2
and ebx, 2
and ecx, ebx
or ebx, 1
xor ebx, edi
lea eax, [ebx + ecx*2]
mov byte [esp + edx + 0x154], al
inc edx
cmp edx, 9
jne 0x41a940
movzx eax, byte [esp + 0x154]
test al, al
je 0x41a9eb
lea ecx, [esp + 0x155]
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41a9e0
mov byte [esi], 0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x144], edx
mov dword [esp + 0x140], ecx
mov dword [esp + 0x148], eax
mov dword [esp + 0x154], 0x1a0e1e5b
mov dword [esp + 0x158], 0x3b3a1924
mov dword [esp + 0x15c], 0x49392217
mov dword [esp + 0x160], 0x34373631
mov dword [esp + 0x164], 0x2a214f04
mov dword [esp + 0x168], 0x3b322826
mov dword [esp + 0x16c], 0xc0c3c23d
mov dword [esp + 0x170], 0xc0bfebee
mov dword [esp + 0x174], 0xe2c5f2c9
mov dword [esp + 0x178], 0xf4f4d6c1
mov dword [esp + 0x17c], 0xcea7f8c8
mov dword [esp + 0x180], 0xa1c4cfea
mov dword [esp + 0x184], 0xa0fee2a4
mov dword [esp + 0x188], 0xe8ebaaa2
mov dword [esp + 0x18c], 0xd9e79ae5
mov dword [esp + 0x190], 0xe4e7e6e1
mov dword [esp + 0x194], 0xdacdcfc9
mov dword [esp + 0x198], 0xec9bf0ef
mov dword [esp + 0x19c], 0xf0f9d7fc
mov dword [esp + 0x1a0], 0x8ff7f6f1
mov dword [esp + 0x1a4], 0xf8fbfafa
mov dword [esp + 0x1a8], 0xc2e986f9
mov dword [esp + 0x1ac], 0xf5f29686
mov dword [esp + 0x1b0], 0x93f69792
mov dword [esp + 0x1b4], 0x888b8a85
mov dword [esp + 0x1b8], 0xaafef6a5
mov dword [esp + 0x1bc], 0xbf95a28d
mov dword [esp + 0x1c0], 0x94e3b0e9
mov dword [esp + 0x1c4], 0x989b9a95
mov dword [esp + 0x1c8], 0x909f9e99
mov dword [esp + 0x1cc], 0xa69196e9
mov dword [esp + 0x1d0], 0xa4a7a6a1
mov dword [esp + 0x1d4], 0x8dbf8c97
mov dword [esp + 0x1d8], 0xd982daa9
mov byte [esp + 0x1dc], 0xec
mov word [esp + 0x1e1], 0
mov dword [esp + 0x1dd], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x154]
mov ebx, eax
and ebx, 0xce
mov edx, ecx
xor edx, 0xe5204567
add edx, ebx
xor edx, edi
mov edi, edx
xor edi, 0x79a15b04
and edx, 0x40004fb
add edx, edx
sub edx, edi
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
mov byte [esp + ecx + 0x154], dl
inc ecx
add eax, 2
cmp ecx, 0x8f
jne 0x41abb0
mov dword [esp + 0x68], 0x804a5656
mov dword [esp + 0x6c], 0xd08f2de8
mov dword [esp + 0x70], 0xe3c48040
mov dword [esp + 0x74], 0xf0e0d0c
mov dword [esp + 0x78], 0x1b66ee95
mov dword [esp + 0x7c], 0xffe79c5c
mov dword [esp + 0x80], 0x1b1a1918
mov dword [esp + 0x84], 0x57ee9454
mov dword [esp + 0x88], 0x7c0ae5a3
mov dword [esp + 0x8c], 0xebeae67a
mov dword [esp + 0x90], 0xe7e6e5e4
mov dword [esp + 0x94], 0xe3e2e1e0
mov dword [esp + 0x98], 0xb07a6666
mov dword [esp + 0x9c], 0xbe7e0dd8
mov dword [esp + 0xa0], 0x3eb171f6
mov dword [esp + 0xa4], 0x3f3e3d3c
mov dword [esp + 0xa8], 0xba27008
mov dword [esp + 0xac], 0x476201cd
mov dword [esp + 0xb0], 0x4b33c400
mov dword [esp + 0xb4], 0x674e4d4c
mov dword [esp + 0xb8], 0x535251b8
mov dword [esp + 0xbc], 0x11dd1d54
mov dword [esp + 0xc0], 0x15d11178
mov dword [esp + 0xc4], 0xc9d51574
mov dword [esp + 0xc8], 0x63626160
mov dword [esp + 0xcc], 0x4322e828
mov dword [esp + 0xd0], 0x7be32068
mov dword [esp + 0xd4], 0x6fe8aa24
mov dword [esp + 0xd8], 0x73727170
mov dword [esp + 0xdc], 0x3f767574
mov dword [esp + 0xe0], 0x6e8583f1
mov dword [esp + 0xe4], 0x7f7e7d7c
mov dword [esp + 0xe8], 0xa7ce0ac8
mov dword [esp + 0xec], 0x66b7cd84
mov byte [esp + 0xf0], 0x88
mov word [esp + 0xf5], 0
mov dword [esp + 0xf1], 0
xor eax, eax
mov ecx, 0x2bb397ff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x68]
mov edi, ecx
or edi, edx
not edx
or edx, eax
xor edx, edi
add edx, 0x15837d5c
mov edi, edx
xor edi, 0x5d
and edx, 0x22
add edx, edx
sub edx, edi
inc dl
mov byte [esp + eax + 0x68], dl
inc eax
dec ecx
cmp eax, 0x8f
jne 0x41ad90
lea eax, [esp + 0x154]
lea edx, [esp + 0x68]
lea ecx, [esp + 0x140]
push eax
push 0x88
push edx
lea edi, [esp + 0x40]
push edi
call fcn.0043b300
mov dword [esp + 0x13c], edx
mov dword [esp + 0x138], eax
xor ebx, ebx
or eax, edx
je 0x41b106
mov dword [esp + 0x154], 0x21b8b5c4
mov byte [esp + 0x158], 0x34
mov word [esp + 0x159], 0
mov byte [esp + 0x15b], 0
movzx ecx, byte [esp + ebx + 0x154]
lea edx, [ebx + 0x76]
mov eax, 0x89
sub eax, ebx
xor eax, edx
and eax, ecx
xor eax, edx
add al, 0xb2
mov byte [esp + ebx + 0x154], al
mov eax, ebx
and eax, 1
xor ebx, 1
lea ebx, [ebx + eax*2]
cmp ebx, 8
jb 0x41ae20
movzx eax, byte [esp + 0x154]
test al, al
je 0x41ae7b
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 0x41ae70
mov byte [esi], 0
lea eax, [esp + 0x138]
lea ecx, [esp + 0x140]
push 0
push 8
push eax
push edi
call fcn.0043b300
mov dword [esp + 0x134], edx
mov dword [esp + 0x130], eax
xor ebx, ebx
or eax, edx
je 0x41b106
mov dword [esp + 0x154], 0xff505042
mov byte [esp + 0x158], 0xc8
mov dword [esp + 0x159], 0
mov word [esp + 0x15d], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
add al, 0x53
xor al, byte [esp + ebx + 0x154]
add al, 0x61
mov byte [esp + ebx + 0x154], al
inc ebx
cmp ebx, 0xb
jne 0x41aee0
movzx eax, byte [esp + 0x154]
test al, al
je 0x41af1b
lea ecx, [esp + 0x155]
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41af10
mov byte [esi], 0
lea eax, [esp + 0x130]
lea edx, [esp + 0x54]
lea ecx, [esp + 0x34]
push 0
push 8
push eax
push edx
call fcn.0043a750
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
je 0x41b104
mov dword [esp + 0x154], 0xb92fbb17
mov dword [esp + 0x158], 0xbddabf23
mov dword [esp + 0x15c], 0xb129b325
mov dword [esp + 0x160], 0xb52db7e2
mov dword [esp + 0x164], 0xa931ab3c
mov word [esp + 0x168], 0xafa8
mov dword [esp + 0x16a], 0
mov byte [esp + 0x16e], 0
mov eax, 0x14a78c9f
nop
movzx ecx, byte [esp + eax - 0x14a78b4b]
lea edx, [eax - 0x14a78c00]
and edx, ecx
or ecx, eax
sub ecx, edx
add ecx, 0x98ba40e4
mov edx, ecx
xor edx, 0x7e
mov edi, ecx
or edi, 1
and edi, edx
xor ecx, 1
lea ecx, [ecx + edi*2]
mov byte [esp + eax - 0x14a78b4b], cl
inc eax
cmp eax, 0x14a78cba
jne 0x41afa0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0xc]
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [eax + ecx]
movzx edi, word [esp + ecx + 0x154]
test dx, dx
je 0x41b009
add ecx, 2
cmp dx, di
je 0x41aff0
mov word [esp + 0x2c], di
mov word [esp + 0x2e], dx
mov dword [esp + 0x154], 0x76667a3
mov byte [esp + 0x158], 0xf8
mov dword [esp + 0x159], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x154]
mov edx, eax
and edx, 0xd
mov edi, eax
and edi, 2
mov ebx, eax
or ebx, 2
imul ebx, edi
xor edi, 2
imul edi, edx
mov edx, eax
xor edx, 0x528b647f
add edx, ebx
add edx, edi
mov edi, edx
and edi, ecx
add edx, ecx
add edi, edi
sub edx, edi
add dl, 0x85
mov byte [esp + eax + 0x154], dl
inc eax
cmp eax, 9
jne 0x41b040
movzx eax, byte [esp + 0x154]
test al, al
je 0x41b0ab
lea ecx, [esp + 0x155]
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41b0a0
mov byte [esi], 0
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x118], eax
xor ebx, ebx
cmp ecx, eax
je 0x41b106
mov dword [esp + 0x30], 0x1a8
movzx eax, word [esp + 0x2c]
cmp word [esp + 0x2e], ax
je 0x41b18d
mov dword [esp + 0x30], 0x190
mov dword [esp + 0x4c], 0x1b0
jne 0x41b19b
mov dword [esp + 0x44], 0x20
je 0x41b1db
jmp 0x41b1ad
xor ebx, ebx
lea ecx, [esp + 0x34]
call fcn.00439cd0
mov dword [esp + 0x154], 0x315a416d
mov byte [esp + 0x158], 0xcc
mov word [esp + 0x159], 0
mov byte [esp + 0x15b], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add al, 0x32
xor al, byte [esp + ecx + 0x154]
add al, 6
mov byte [esp + ecx + 0x154], al
inc ecx
cmp ecx, 8
jne 0x41b140
movzx eax, byte [esp + 0x154]
test al, al
je 0x41b17b
lea ecx, [esp + 0x155]
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41b170
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 dword [esp + 0x4c], 0x1b0
je 0x41b0f1
mov dword [esp + 0x4c], 0x198
mov dword [esp + 0x44], 0x20
je 0x41b1db
mov dword [esp + 0x44], 0x10
jmp 0x41b1db
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x11c]
add ecx, 8
cmp ecx, dword [esp + 0x118]
je 0x41bd5b
mov dword [esp + 0x48], ebx
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
mov dword [esp + 0x11c], ecx
mov eax, dword [ecx + 4]
mov dword [esp + 4], eax
push 0x1b0
push 0
lea eax, [esp + 0x15c]
push eax
call fcn.0040d0f0
add esp, 0xc
xor edi, edi
lea ebx, [esp + 0x34]
jmp 0x41b22e
lea ebx, [esp + 0x34]
inc edi
cmp edi, 0xb
je 0x41b410
mov ecx, ebx
push 0
push 0
push dword [esp + 0x54]
lea eax, [esp + 0x160]
push eax
push dword [esp + 0x14]
push dword [esp + 0x3c]
call fcn.0043a5c0
test eax, eax
js 0x41b224
cmp byte [esp + 0x224], 0
sete cl
xor cl, 0x31
cmp byte [esp + 0x225], 0
mov byte [esp + 0xc], cl
sete al
xor al, 0x31
mov byte [esp + 0xd], al
cmp byte [esp + 0x226], 0
sete al
xor al, 0x31
mov byte [esp + 0xe], al
mov eax, dword [esp + 0x30]
cmp byte [esp + eax + 0x154], 0
sete al
xor al, 0x31
mov byte [esp + 0xf], al
mov word [esp + 0x10], 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 + 0xd]
inc eax
test cl, cl
jne 0x41b2b0
mov byte [esi + eax], 0
movzx ecx, byte [esp + 0x226]
test cl, cl
jne 0x41b430
cmp byte [esp + 0x224], 0
jne 0x41b2ef
mov edx, dword [esp + 0x194]
or edx, dword [esp + 0x198]
je 0x41b430
add esi, eax
mov dword [esp + 0x68], 0x7fddd4c5
mov byte [esp + 0x6c], 0x48
lea eax, [esp + 0x6d]
mov word [eax + 4], 0
mov dword [eax], 0
mov eax, 0x55f33d13
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x55f33cab]
xor ecx, eax
mov edx, ecx
and edx, 0x20
xor ecx, 0xa0
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax - 0x55f33cab], cl
inc eax
cmp eax, 0x55f33d1e
jne 0x41b320
movzx eax, byte [esp + 0x68]
test al, al
je 0x41b36b
lea ecx, [esp + 0x69]
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 0x41b360
mov byte [esi], 0
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x68], 0xff676980
mov dword [esp + 0xf8], 0x282b2a25
xor eax, eax
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xf7
xor cl, byte [esp + eax + 0xf8]
add cl, 0x2d
mov byte [esp + eax + 0xf8], cl
inc eax
cmp eax, 4
jne 0x41b390
mov eax, dword [0x44c010]
test eax, eax
je 0x41b220
mov ecx, dword [esp + 0xf8]
xor edx, edx
mov ebx, dword [0x44c014]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x3568c09b
je 0x41b3e3
inc edx
cmp eax, edx
jne 0x41b3d0
jmp 0x41b220
mov eax, dword [ebx + edx*8 + 4]
cmp eax, ecx
je 0x41b220
lea ecx, [esp + 0x68]
push ecx
push 0
push 1
push eax
push dword [0x44c018]
call fcn.0043d120
add esp, 0x14
jmp 0x41b220
movzx ecx, byte [esp + 0x226]
test cl, cl
jne 0x41b43a
jmp 0x41b1c0
add esi, eax
test cl, cl
je 0x41b1c0
call fcn.00405070
mov dword [esp + 0x28], eax
push eax
call fcn.00404a30
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0x68], 0x49af93a9
mov byte [esp + 0x6c], 0x2c
lea eax, [esp + 0x6d]
mov dword [eax + 3], 0
mov dword [eax], 0
xor eax, eax
mov ecx, eax
and ecx, 0xc
mov edx, eax
and edx, 3
or edx, 0x8c
xor edx, ecx
lea ecx, [edx + ecx*2]
xor cl, byte [esp + eax + 0x68]
add cl, 0x44
mov byte [esp + eax + 0x68], cl
inc eax
cmp eax, 0xc
jne 0x41b470
movzx eax, byte [esp + 0x68]
test al, al
je 0x41b4bb
lea ecx, [esp + 0x69]
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 0x41b4b0
mov byte [esi], 0
mov eax, dword [esp + 0x18c]
mov edx, dword [esp + 0x190]
xor ebx, ebx
mov ecx, eax
or ecx, edx
je 0x41b520
lea ecx, [esp + 0x34]
push 0
push 0
push 0x40
lea edi, [esp + 0x74]
push edi
push edx
push eax
call fcn.0043a5c0
test eax, eax
js 0x41b520
xor eax, eax
movzx ecx, word [esp + 0x2c]
cmp word [esp + 0x2e], cx
sete al
lea ecx, [esp + 0x34]
mov edx, edi
push eax
push dword [esp + 8]
call fcn.0041dd40
add esp, 8
mov ecx, eax
jmp 0x41b522
xor ecx, ecx
mov dword [esp + 0x68], 0xe718000b
mov byte [esp + 0x6c], 0xe8
lea eax, [esp + 0x6d]
mov word [eax + 4], 0
mov dword [eax], 0
nop
mov eax, ebx
add al, 0x27
xor al, byte [esp + ebx + 0x68]
add al, 0x3d
mov byte [esp + ebx + 0x68], al
mov eax, ebx
and eax, 1
xor ebx, 1
lea ebx, [ebx + eax*2]
cmp ebx, 0xb
jb 0x41b540
movzx eax, byte [esp + 0x68]
mov ebx, ecx
test al, al
je 0x41b590
lea ecx, [esp + 0x69]
lea edi, [esp + 0x34]
nop
nop
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 0x41b580
jmp 0x41b594
lea edi, [esp + 0x34]
mov byte [esi], 0
push dword [esp + 4]
call fcn.00404e70
add esp, 4
test eax, eax
setne cl
and cl, bl
cmp cl, 1
jne 0x41b760
mov dword [esp + 0x114], 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.0043a5c0
test eax, eax
js 0x41b9b0
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.0043a5c0
test eax, eax
js 0x41b9b0
mov eax, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
add edx, dword [esp + 0x44]
adc eax, 0
mov ecx, edi
push 0
push 0
push 0x18
lea edi, [esp + 0x104]
push edi
push eax
push edx
call fcn.0043a5c0
test eax, eax
js 0x41b9b0
cmp byte [esp + 0x10f], 0
lea eax, [esp + 0xf8]
mov dword [esp + 8], eax
js 0x41b769
mov dword [esp + 0xc], 0xc947cb67
mov dword [esp + 0x10], 0xc548c753
mov dword [esp + 0x14], 0xc17ec324
mov dword [esp + 0x18], 0xbd32bf5f
mov dword [esp + 0x1c], 0xb91ebb23
mov word [esp + 0x20], 0xb7b8
lea eax, [esp + 0x22]
mov byte [eax + 4], 0
mov dword [eax], 0
mov eax, 0xcd
mov ecx, 0x2518f33
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x2518f27]
lea edi, [edx + edx]
not edi
add edi, edx
and edi, 0xa
and edx, 0xfffffff5
or edx, edi
mov edi, ecx
or edi, 0xa
add edi, eax
mov ebx, eax
neg ebx
and ebx, 0x75
or ebx, edi
xor ebx, edx
inc bl
mov byte [esp + ecx - 0x2518f27], bl
dec eax
inc ecx
cmp eax, 0xb2
jne 0x41b6c0
movzx ebx, word [esp + 0xc]
test bx, bx
je 0x41b7cb
lea edx, [esp + 0xc]
mov ecx, dword [esp + 8]
mov eax, ecx
mov dword [esp + 4], ecx
jmp 0x41b72c
movzx ebx, word [edx]
test bx, bx
je 0x41b7e0
movzx edi, word [eax]
test di, di
je 0x41b7d5
add eax, 2
add edx, 2
mov ecx, edx
mov edx, dword [esp + 4]
add edx, 2
cmp di, bx
je 0x41b752
mov dword [esp + 4], edx
mov eax, edx
mov edx, ecx
je 0x41b720
lea edx, [esp + 0xc]
jmp 0x41b720
mov dword [esp + 4], ebx
jmp 0x41bd3f
mov ebx, dword [esp + 0xf8]
mov edi, dword [esp + 0xfc]
mov eax, ebx
or eax, edi
je 0x41b9b0
mov eax, dword [esp + 0x100]
lea ecx, [eax*2 + 2]
inc eax
mov dword [esp + 4], ecx
mov eax, ecx
jns 0x41b79d
mov eax, 0xffffffff
push eax
call fcn.0040cf60
add esp, 4
lea ecx, [esp + 0x34]
push 0
push 0
push dword [esp + 0xc]
mov dword [esp + 0x14], eax
push eax
push edi
push ebx
call fcn.0043a5c0
test eax, eax
jns 0x41b66d
jmp 0x41b9b0
mov eax, dword [esp + 8]
lea edi, [esp + 0x68]
jmp 0x41b7f2
lea edi, [esp + 0x68]
mov ebx, edi
jmp 0x41b98a
lea edi, [esp + 0x68]
mov ebx, edi
mov eax, dword [esp + 4]
test eax, eax
je 0x41b98a
movzx edx, word [eax + 0x14]
mov ebx, edi
test dx, dx
je 0x41b98a
mov ecx, eax
add eax, 0x14
lea ebx, [ecx + 0x14]
add ecx, 0x16
nop
nop
nop
nop
cmp dx, 0x5c
je 0x41b82b
movzx edx, word [ecx]
add ebx, 2
add ecx, 2
test dx, dx
jne 0x41b810
mov ebx, edi
jmp 0x41b98a
mov ecx, ebx
xor ecx, eax
mov edx, eax
not edx
and edx, ebx
add edx, edx
mov ebx, edi
sub edx, ecx
je 0x41b8fa
sar edx, 1
mov ecx, edx
and ecx, 3
je 0x41b88e
mov dword [esp + 0x110], edx
mov ebx, edi
xor edi, edi
mov dword [esp + 4], ecx
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [eax]
xor ecx, ecx
test dx, dx
setne cl
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 4]
mov word [ebx], dx
add ebx, 2
inc edi
cmp ecx, edi
jne 0x41b860
mov edx, dword [esp + 0x110]
mov ecx, edx
sub ecx, edi
lea edi, [esp + 0x68]
jmp 0x41b892
mov ebx, edi
mov ecx, edx
dec edx
cmp edx, 3
jb 0x41b8fa
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 4], ecx
movzx edx, word [eax]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebx], dx
lea edx, [eax + ecx*2]
movzx eax, word [eax + ecx*2]
xor ecx, ecx
test ax, ax
setne cl
mov word [ebx + 2], ax
lea eax, [edx + ecx*2]
movzx ecx, word [edx + ecx*2]
xor edx, edx
test cx, cx
setne dl
mov word [ebx + 4], cx
lea ecx, [eax + edx*2]
movzx edx, word [eax + edx*2]
xor eax, eax
test dx, dx
setne al
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 4]
mov word [ebx + 6], dx
add ebx, 8
add ecx, 0xfffffffc
jne 0x41b8a0
mov word [ebx], 0
mov eax, dword [esp + 0x30]
cmp byte [esp + eax + 0x154], 0
jne 0x41b98a
mov dword [esp + 0xc], 0x59855b64
mov dword [esp + 0x10], 0x5dbb5faa
mov dword [esp + 0x14], 0x51ab53ad
mov dword [esp + 0x18], 0x55a957a2
mov dword [esp + 0x1c], 0x699b6ba0
mov word [esp + 0x20], 0x6f68
lea eax, [esp + 0x22]
mov byte [eax + 4], 0
mov dword [eax], 0
xor eax, eax
nop
nop
nop
nop
mov ecx, eax
add cl, 0xf
xor cl, byte [esp + eax + 0xc]
add cl, 0xb5
mov byte [esp + eax + 0xc], cl
inc eax
cmp eax, 0x1b
jne 0x41b950
movzx eax, word [esp + 0xc]
test ax, ax
je 0x41b985
lea ecx, [esp + 0xe]
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41b974
mov word [ebx], 0
cmp byte [esp + 0x10f], 0
jns 0x41b9a0
push dword [esp + 8]
call fcn.0040cf70
add esp, 4
cmp edi, ebx
jne 0x41ba76
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0xc], 0xb1608f47
mov dword [esp + 0x10], 0xb523b355
mov dword [esp + 0x14], 0xb958b75d
mov dword [esp + 0x18], 0xbd2ebb53
mov dword [esp + 0x1c], 0xa1bebf2d
lea eax, [esp + 0x22]
mov byte [eax], 0
mov word [eax - 2], 0
mov eax, 0xc84ddd
mov ecx, 0xdd37b222
nop
movzx edx, byte [esp + eax - 0xc84dd1]
lea edi, [edx + edx]
not edi
add edi, edx
and edi, 0xf36e036c
and edx, 0xffffff93
or edx, edi
mov edi, ecx
and edi, 0xd126022c
mov ebx, eax
and ebx, 0x804c93
or ebx, edi
xor ebx, edx
mov edx, ebx
not edx
and ebx, 0xae
and edx, 0x51
sub ebx, edx
mov byte [esp + eax - 0xc84dd1], bl
inc eax
dec ecx
cmp eax, 0xc84df4
jne 0x41b9f0
movzx eax, word [esp + 0xc]
lea edi, [esp + 0x68]
mov ebx, edi
test ax, ax
je 0x41ba71
lea ecx, [esp + 0xe]
mov ebx, edi
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 0x41ba60
mov word [ebx], 0
sub ebx, edi
mov ecx, ebx
shr ecx, 2
mov eax, edi
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
and eax, 0xfffffffc
lea ecx, [esi + eax]
mov dword [esp + 4], ecx
lea edx, [esp + eax]
add edx, 0x68
mov eax, ebx
and eax, 3
mov ecx, eax
shr ecx, 1
mov dword [esp + 8], edx
mov edi, dword [esp + 4]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edx, dword [esp + 4]
mov ecx, ebx
xor ecx, 2
and ecx, eax
je 0x41baf0
mov edi, ebx
and edi, 2
mov eax, dword [esp + 8]
movzx eax, byte [eax + edi]
mov byte [edx + edi], al
cmp ecx, 1
je 0x41baf0
mov eax, dword [esp + 8]
movzx eax, byte [eax + edi + 1]
mov byte [edx + edi + 1], al
cmp ecx, 2
je 0x41baf0
mov eax, dword [esp + 8]
movzx eax, byte [eax + edi + 2]
mov byte [edx + edi + 2], al
push 0xa
push 0xb
lea eax, [esp + 0x100]
push eax
push dword [esp + 0x120]
call fcn.0041daa0
add esp, 0x10
mov dword [esp + 0xc], 0xbd4d4f2a
mov dword [esp + 0x10], 0x2d0e7c08
mov word [esp + 0x14], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x37
xor dl, byte [esp + ecx + 0xc]
add dl, 0xed
mov byte [esp + ecx + 0xc], dl
inc ecx
cmp ecx, 0xa
jne 0x41bb30
add esi, ebx
movzx ecx, byte [esp + 0xc]
test cl, cl
je 0x41bb6b
lea edx, [esp + 0xd]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41bb60
mov byte [esi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x41bb8b
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 0x41bb80
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 0x41bba0
sar eax, 1
sar ebx, 1
lea ecx, [ebx + eax]
add ecx, 0xa
test ecx, ecx
jns 0x41bbc0
mov eax, 0xffffffff
jmp 0x41bbc9
add ebx, eax
lea eax, [ebx*2 + 0x14]
push eax
call fcn.0040cf60
add esp, 4
movzx ecx, word [edi]
mov edx, eax
test cx, cx
je 0x41bc01
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 0x41bbf0
mov dword [esp + 8], eax
inc esi
mov eax, edx
mov word [edx], 0x2f
mov dword [esp + 0xc], 0x9724994b
mov dword [esp + 0x10], 0x93199509
mov dword [esp + 0x14], 0x8f029142
mov dword [esp + 0x18], 0x8b068d04
mov word [esp + 0x1c], 0x8988
lea ecx, [esp + 0x22]
mov word [ecx], 0
mov dword [ecx - 4], 0
mov ecx, 0x2bc588e6
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x2bc588da]
lea edi, [ecx - 0x2bc58800]
and edi, edx
or edx, ecx
xor edx, edi
lea edi, [edx + edx]
or edi, 0xfd
mov ebx, 0x7e
sub ebx, edx
and edx, 1
and ebx, 0xfe
or ebx, edx
xor ebx, 1
add ebx, edi
mov dl, 0xfe
sub dl, bl
mov byte [esp + ecx - 0x2bc588da], dl
inc ecx
cmp ecx, 0x2bc588fe
jne 0x41bc50
add eax, 2
movzx ecx, word [esp + 0x68]
test cx, cx
je 0x41bcc1
lea edx, [esp + 0x6a]
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
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x41bcf1
lea edx, [esp + 0xe]
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 0x41bce0
mov word [eax], 0
mov ebx, 0xffffffff
push dword [esp + 0x28]
call fcn.00405ce0
add esp, 4
mov edi, eax
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x41bd10
mov ecx, dword [ebp + 8]
push ebx
push edi
mov ebx, dword [esp + 0x10]
push ebx
call fcn.0040d990
mov dword [esp + 4], eax
push edi
call fcn.00405d70
add esp, 4
push ebx
call fcn.0040cf70
add esp, 4
push dword [esp + 0x28]
call fcn.00404eb0
add esp, 4
mov ebx, dword [esp + 0x48]
and bl, 1
or bl, byte [esp + 4]
jmp 0x41b1c4
mov eax, dword [esp + 0x54]
and bl, 1
test eax, eax
je 0x41b106
cmp eax, dword [esp + 0x58]
je 0x41b106
push eax
call fcn.0040cf70
add esp, 4
mov dword [esp + 0x54], 0
jmp 0x41b106