Function at 0x422680
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, 0x468
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x60], 0x2bb62db3
mov dword [esp + 0x64], 0x17b72985
mov dword [esp + 0x68], 0x13c01581
mov dword [esp + 0x6c], 0x1f8611bd
mov dword [esp + 0x70], 0x1b1a1db1
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov word [esp + 0x7c], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 0x1d
ja 0x4220da
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx ecx, byte [esp + ecx + 0x60]
lea edx, [eax + ecx]
add edx, 0xb0bef15a
add eax, 0xb0bef15a
and eax, ecx
add eax, eax
mov ecx, eax
xor ecx, edx
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
add al, 0x8a
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 0x1e
jb 0x422090
lea edi, [esp + 0x60]
lea ecx, [esp + 0x44]
push edi
call fcn.004381a0
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4447fc]
lea ecx, [esp + 0x44]
push 0x410
call fcn.004383e0
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x444804]
mov dword [esp + 0x60], 0x6a437865
mov dword [esp + 0x64], 0x706a4d60
mov dword [esp + 0x68], 0x6c656341
mov dword [esp + 0x6c], 0x577e6645
mov dword [esp + 0x70], 0x605b5246
mov dword [esp + 0x74], 0x7f5c565d
mov dword [esp + 0x78], 0x72795e7a
mov dword [esp + 0x7c], 0x765f7453
mov dword [esp + 0x80], 0x66707672
mov dword [esp + 0x84], 0x4e639571
mov dword [esp + 0x88], 0xab9a6161
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 0x33
ja 0x4221dd
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx ecx, byte [esp + ecx + 0x60]
lea edx, [eax + 0x44253fc0]
add eax, 0xc0
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
add al, 0xc0
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 0x34
jb 0x4221a0
lea eax, [esp + 0x14]
lea ecx, [esp + 0x44]
push 0
push 0x2b
push edi
push eax
call fcn.00438960
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
xor eax, eax
cmp ecx, edx
sete al
jmp dword [eax*4 + 0x44480c]
mov dword [esp + 0x58], edx
mov eax, edx
mov esi, ecx
sub eax, ecx
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.00408bd0
add esp, 4
mov ebx, eax
mov eax, dword [case.0x4221ff.4]
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44482c]
mov eax, dword [case.0x4221ff.12]
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x4221ff.17]
mov ecx, esi
mov dword [esp + 0x54], ebx
nop
nop
nop
mov dword [esp + 0x10], 0
mov edx, ebx
jmp eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x5c], ecx
mov esi, dword [ecx]
push 0x400
push 0
push edi
call fcn.00408c50
add esp, 0xc
lea eax, [esp + 0x30]
lea ecx, [esp + 0x44]
push eax
push 0x400
push edi
push esi
call fcn.00438800
xor ecx, ecx
cmp eax, 0xc0000000
setae cl
jmp dword [ecx*4 + 0x44486c]
xor eax, eax
cmp dword [esp + 0x30], 0
sete al
jmp dword [eax*4 + 0x444874]
mov eax, 1
jmp dword [eax*4 + 0x44487c]
xor eax, eax
jmp dword [eax*4 + 0x44487c]
mov byte [esp + 0x45f], 0
movzx ecx, byte [esp + 0x60]
xor eax, eax
test cl, cl
je 0x422302
mov edx, edi
nop
nop
cmp cl, 0x2e
je 0x422300
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x4222f0
jmp 0x422302
mov eax, edx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444884]
lea esi, [eax + 1]
movzx ecx, byte [eax + 1]
xor ebx, ebx
test cl, cl
je 0x422332
mov edx, esi
nop
cmp cl, 0x2e
je 0x422330
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x422320
jmp 0x422332
mov ebx, edx
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x44488c]
mov dword [esp + 4], ebx
mov ecx, ebx
sub ecx, esi
mov ebx, ecx
and ebx, 3
mov edi, ecx
or edi, 3
imul edi, ebx
xor ebx, 3
mov edx, ecx
and edx, 0xfffffffc
imul edx, ebx
add edi, edx
shr edi, 2
movzx eax, byte [eax + ecx]
cmp eax, 0x3d
je 0x422373
cmp eax, 0x2e
jne 0x422374
dec edi
movzx eax, byte [ecx + esi - 2]
cmp eax, 0x3d
mov dword [esp + 0x28], ecx
mov ebx, dword [esp + 4]
je 0x42238b
cmp eax, 0x2e
jne 0x42238c
dec edi
mov dword [esp + 0x50], edi
lea eax, [edi + 1]
push eax
call fcn.00408bd0
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], esi
cmp ebx, esi
je 0x4224a1
xor edi, edi
mov esi, 2
jmp 0x4223d2
mov edx, dword [esp + 0x40]
nop
nop
nop
nop
nop
nop
nop
lea eax, [esi + 4]
add esi, 2
mov edi, edx
cmp esi, ecx
mov esi, eax
jae 0x4224a1
mov ebx, dword [esp + 0x2c]
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.00418980
add esp, 4
mov byte [esp + 4], al
movzx eax, byte [ebx + esi - 1]
push eax
call fcn.00418980
add esp, 4
mov bh, al
movzx ecx, byte [esp + 4]
shl cl, 2
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esp + 0x24]
mov byte [ecx + edi], al
lea edx, [edi + 1]
mov ecx, dword [esp + 0x28]
cmp esi, ecx
jae 0x4223c0
mov dword [esp + 4], edi
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + esi]
push eax
mov edi, edx
call fcn.00418980
mov edx, edi
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp al, 0x40
je 0x4223c0
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [esp + 4]
lea edx, [edi + 2]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x24]
mov byte [edx + edi + 1], al
lea eax, [esi + 1]
cmp eax, ecx
jae 0x4223b5
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00418980
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp al, 0x40
mov edx, dword [esp + 0x40]
je 0x4223c0
shl bl, 6
add al, bl
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 4]
mov byte [edx + edi + 2], al
add edi, 3
mov edx, edi
jmp 0x4223c0
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x24]
mov byte [esi + eax], 0
push esi
call fcn.00401f50
add esp, 4
mov ebx, eax
jmp dword [0x444894]
jmp dword [0x44489c]
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x61]
movzx eax, byte [esp + 0x60]
test al, al
je 0x4224eb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4224e0
mov byte [edx], 0
mov byte [edx], 0xa
inc edx
mov dword [esp + 0x20], edx
mov al, 1
mov dword [esp + 0x10], eax
mov al, 1
jmp dword [0x4448c0]
push ebx
call fcn.00402870
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
lea edi, [esp + 0x60]
jmp dword [ecx*4 + 0x4448ac]
mov eax, dword [esp + 0x10]
jmp dword [0x4448c0]
mov byte [esp + 4], al
push ebx
call fcn.00402b00
add esp, 4
movzx eax, byte [esp + 4]
mov dword [esp + 0x10], eax
nop
push ebx
call fcn.00402b00
add esp, 4
jmp dword [0x4448c4]
mov eax, dword [case.0x4221ff.28]
mov ebx, dword [esp + 0x54]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x4221ff.17]
mov ecx, dword [esp + 0x5c]
add ecx, 4
mov edx, dword [esp + 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x30], 0x7b1a0e13
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov word [esp + 0x3c], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0xd
ja 0x422613
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx esi, byte [esp + edx + 0x30]
mov edx, 0x58054e10
sub edx, ecx
add ecx, 0xef
and ecx, esi
or edx, esi
not edx
add edx, esi
sub edx, ecx
mov dword [esp + 8], edx
mov ecx, dword [esp + 8]
add cl, 0x77
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x30], cl
mov ecx, dword [esp + 0xc]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
cmp ecx, 0xe
jb 0x4225c0
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.004027c0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4448b4]
movzx ecx, byte [eax]
test cl, cl
je 0x42264d
inc eax
mov edx, dword [esp + 0x20]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x422640
jmp 0x422651
mov edx, dword [esp + 0x20]
mov word [edx], 0x203a
add edx, 2
jmp 0x4224c8
push esi
call fcn.00408be0
add esp, 4
push esi
call fcn.00408be0
add esp, 4
jmp dword [0x4448a8]
xor eax, eax
cmp ecx, dword [esp + 0x58]
setne al
jmp dword [eax*4 + 0x444854]
jmp dword [0x444864]
mov eax, dword [esp + 0x10]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x4448fc]
jmp dword [0x444904]
xor ebx, ebx
test ecx, ecx
jne 0x4227a0
jmp case.0x4220ed.1
mov byte [edx], 0
sub edx, ebx
mov esi, edx
mov dword [esp + 0x60], 0x57282975
mov dword [esp + 0x64], 0x2b5f5851
mov dword [esp + 0x68], 0x364e3055
mov dword [esp + 0x6c], 0x40305073
mov dword [esp + 0x70], 0x5f794645
mov dword [esp + 0x74], 0x414b403b
mov dword [esp + 0x78], 0xcbc47f3b
mov word [esp + 0x7c], 0x55c6
mov dword [esp + 0x7e], 0
mov word [esp + 0x82], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x23
ja 0x42276b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x60]
lea edx, [eax + 0x2bd56467]
add eax, 0x67
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
add al, 0x2f
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x60], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x24
jb 0x422730
lea eax, [esp + 0x60]
mov ecx, dword [ebp + 8]
push esi
push ebx
push eax
call fcn.004094a0
mov dword [esp + 0x10], eax
jmp dword [0x444904]
push ebx
call fcn.00408be0
add esp, 4
mov ebx, dword [esp + 0x10]
and bl, 1
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test ecx, ecx
je case.0x4220ed.1
cmp ecx, edx
je case.0x4220ed.1
push ecx
call fcn.00408be0
add esp, 4
lea ecx, [esp + 0x44]
call fcn.00438520
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
cmp dword [esp], 0
sete al
jmp dword [eax*4 + 0x4449ac]
mov dword [esp + 0x40], 0xdb79d97c
mov dword [esp + 0x44], 0xd740d543
mov dword [esp + 0x48], 0xd34bd14e
mov dword [esp + 0x4c], 0xcf6acd53
mov dword [esp + 0x50], 0xcb5dc96b
mov dword [esp + 0x54], 0xc758c552
mov dword [esp + 0x58], 0xc35dc159
mov dword [esp + 0x5c], 0xbf30bd6a
mov dword [esp + 0x60], 0xbb24b924
lea eax, [esp + 0x64]
mov word [esp + 0x64], 0xb5b4
mov dword [esp + 0x66], 0
mov dword [esp + 0x69], 0
mov dword [esp + 0xa8], 0
mov ecx, dword [esp + 0xa8]
cmp ecx, 0x2c
ja 0x4228dd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa8]
movzx esi, byte [esp + edx + 0x40]
lea edx, [ecx - 0x2361e85c]
mov edi, edx
and edi, esi
xor edx, esi
add ecx, 0xa4
and ecx, esi
add ecx, edi
sub edx, ecx
lea ecx, [edx + edi*2]
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0xe4]
add cl, 0x84
mov edx, dword [esp + 0xa8]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xa8]
mov ecx, dword [esp + 0xa8]
cmp ecx, 0x2d
jb 0x422880
lea edi, [esp + 0xa8]
lea edx, [esp + 0x40]
mov ecx, 9
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xcc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, 0xfffffffe
mov ecx, dword [esp]
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x422910
cmp eax, 0xffffffd9
jge 0x422ee0
mov eax, 0xffffffff
jmp 0x422ee3
xor edx, edx
cmp eax, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x44498c]
jmp dword [ecx*4 + 0x44490c]
mov dword [esp + 0x40], 0x5b8859fc
mov dword [esp + 0x44], 0x57895589
mov dword [esp + 0x48], 0x53815189
mov dword [esp + 0x4c], 0x2ffc2d80
mov dword [esp + 0x50], 0x2b8e2981
mov dword [esp + 0x54], 0x27e725f1
mov dword [esp + 0x58], 0x23fa21e3
mov dword [esp + 0x5c], 0x3fe83de5
mov dword [esp + 0x60], 0x3b9e39e5
mov dword [esp + 0x64], 0x37e135e7
mov dword [esp + 0x68], 0x339e31ee
mov dword [esp + 0x6c], 0xfcf0da3
mov dword [esp + 0x70], 0xbd709da
mov dword [esp + 0x74], 0x7a805a0
mov dword [esp + 0x78], 0x3b601a1
mov dword [esp + 0x7c], 0x1fa31d92
mov dword [esp + 0x80], 0x1bc919bc
mov dword [esp + 0x84], 0x17ab1598
mov dword [esp + 0x88], 0x13a711b1
mov word [esp + 0x8c], 0xedec
lea ecx, [esp + 0x8e]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esp + 0xa8], 0
mov ecx, dword [esp + 0xa8]
cmp ecx, 0x50
ja 0x422a85
nop
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa8]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx - 0x2d44904c]
lea edi, [ecx + 0xb4]
mov ebx, edi
and ebx, esi
and ebx, edx
xor edi, esi
and edi, edx
add ecx, edx
add ecx, 0xd2bb6fb4
lea edx, [edi + ebx*2]
sub ecx, edx
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0xe4]
add cl, 0x14
mov edx, dword [esp + 0xa8]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xa8]
mov ecx, dword [esp + 0xa8]
cmp ecx, 0x51
jb 0x422a20
lea ecx, [esp + 8]
lea edi, [esp + 0x40]
push 0
push 0
push eax
push ecx
push edi
call fcn.0043cbb0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x444914]
lea ebx, [esp + 0x34]
lea eax, [esp + 0x10]
push ebx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x28]
call fcn.0043cff0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44491c]
jmp dword [0x444928]
mov ecx, dword [esp + 0x34]
lea eax, [ecx + ecx]
add eax, 2
inc ecx
jns 0x422aec
mov eax, 0xffffffff
push eax
call fcn.00408bd0
add esp, 4
mov dword [esp + 0x40], 0x9b0c9951
mov dword [esp + 0x44], 0x871a8517
mov dword [esp + 0x48], 0x83168121
mov dword [esp + 0x4c], 0x8f3e8d18
mov dword [esp + 0x50], 0x8b168929
mov dword [esp + 0x54], 0x777675dc
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0xa8], 0
mov ecx, dword [esp + 0xa8]
cmp ecx, 0x1f
ja 0x422bbe
nop
nop
nop
nop
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa8]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx + edx]
add esi, 0x6088c6ec
add ecx, 0x6088c6ec
and ecx, edx
add ecx, ecx
mov edx, ecx
xor edx, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0xe4]
mov edx, ecx
xor edx, 0x8b
and ecx, 0xb
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esp + 0xa8]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xa8]
mov ecx, dword [esp + 0xa8]
cmp ecx, 0x20
jb 0x422b50
push ebx
push eax
push 0
push edi
push dword [esp + 0x18]
call fcn.0043d680
add esp, 0x14
jmp case.0x422a9f.5
push ebx
push esi
push 0
push edi
push dword [esp + 0x18]
call fcn.0043d680
add esp, 0x14
jmp dword [0x444930]
mov eax, dword [esp + 0x34]
mov ecx, eax
inc ecx
jns 0x422c10
mov eax, 0xffffffff
jmp 0x422c15
add eax, eax
add eax, 2
push eax
call fcn.00408bd0
add esp, 4
mov esi, eax
mov dword [esp + 0x40], 0x9b0c9951
mov dword [esp + 0x44], 0x871a8517
mov dword [esp + 0x48], 0x83168121
mov dword [esp + 0x4c], 0x8f3e8d18
mov dword [esp + 0x50], 0x8b168929
mov dword [esp + 0x54], 0x777675dc
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0xa8], 0
mov eax, dword [esp + 0xa8]
cmp eax, 0x1f
ja 0x422be0
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa8]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + ecx]
add edx, 0x6088c6ec
add eax, 0x6088c6ec
and eax, ecx
add eax, eax
mov ecx, eax
xor ecx, edx
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe4]
mov ecx, eax
xor ecx, 0x8b
and eax, 0xb
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp + 0xa8]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0xa8]
mov eax, dword [esp + 0xa8]
cmp eax, 0x20
jb 0x422c80
jmp 0x422be0
mov eax, 4
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x444984]
shr eax, 0x1f
mov dword [esp], esi
jmp dword [eax*4 + 0x444934]
mov dword [esp], 0
jmp dword [0x44493c]
push esi
call fcn.00408be0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov dword [esp + 0x40], 0xfaf9f8c7
lea ecx, [esp + 0x8e]
mov word [ecx - 0x42], 0
mov dword [ecx - 0x46], 0
mov dword [ecx - 0x4a], 0
mov dword [esp + 0xa8], 0
mov ecx, dword [esp + 0xa8]
cmp ecx, 0xd
ja 0x422de9
nop
nop
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa8]
movzx esi, byte [esp + edx + 0x40]
mov edx, 0xd28cce60
sub edx, ecx
add ecx, 0x9f
and ecx, esi
or edx, esi
not edx
add edx, esi
sub edx, ecx
mov dword [esp + 0xe4], edx
mov ecx, dword [esp + 0xe4]
add cl, 0xa7
mov edx, dword [esp + 0xa8]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0xa8]
mov ecx, dword [esp + 0xa8]
cmp ecx, 0xe
jb 0x422d90
mov ecx, dword [0x448918]
test ecx, ecx
je case.default.0x422e3e
mov edx, dword [esp + 0x40]
xor esi, esi
mov ebx, dword [0x44891c]
nop
cmp dword [ebx + esi*8], 0x11081610
je 0x422e10
inc esi
cmp ecx, esi
jne 0x422e00
jmp case.default.0x422e3e
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.default.0x422e3e
push eax
push 1
push dword [0x448920]
push ecx
call fcn.00439b40
add esp, 0x10
nop
nop
nop
nop
nop
nop
xor ecx, ecx
cmp dword [esp], 0
setne cl
mov eax, 2
jmp dword [ecx*4 + 0x444944]
push edi
call fcn.0043c0e0
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x44494c]
xor edx, edx
cmp dword [esp + 0x40], 1
sete dl
mov eax, 2
xor ecx, ecx
jmp dword [edx*4 + 0x444954]
mov edx, dword [case.0x422e3e.5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
mov ecx, 1
jmp edx
jmp dword [ecx*4 + 0x44496c]
mov ecx, dword [case.0x422e3e.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
jmp ecx
xor ecx, ecx
cmp eax, 4
setb cl
jmp dword [ecx*4 + 0x444984]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x444994]
mov edx, dword [case.0x422e3e.19]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, 0x20119
xor ecx, ecx
jmp edx
xor eax, eax
jmp 0x423ee5
add eax, 0x26
push eax
call fcn.00408bd0
add esp, 4
mov esi, eax
mov eax, dword [esp]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x422f21
mov eax, dword [esp]
lea edx, [eax + 2]
mov eax, esi
nop
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 0x422f10
mov word [eax], 0
movzx ecx, word [esp + 0xa8]
test cx, cx
je 0x422f51
lea edx, [esp + 0xaa]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422f40
mov word [eax], 0
jmp dword [0x4449b4]
push dword [esp]
call fcn.00408be0
add esp, 4
jmp dword [0x4449c0]
jmp dword [0x4449c0]
lea eax, [esp + 0x10]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043c350
add esp, 0x14
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x10]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043c350
add esp, 0x14
jmp dword [0x4449c8]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4449cc]
xor ebx, ebx
xor edi, edi
jmp dword [0x444a2c]
push esi
call fcn.00408be0
add esp, 4
xor eax, eax
cmp ebx, edi
sete al
jmp dword [eax*4 + 0x444a34]
xor eax, eax
test ebx, ebx
jne 0x423eae
jmp 0x423ee5
mov dword [esp + 0xa0], esi
lea eax, [esp + 0x34]
push 0
push eax
push dword [esp + 0x18]
call fcn.0043c6f0
add esp, 0xc
not eax
shr eax, 0x1f
xor ecx, ecx
xor ebx, ebx
jmp dword [eax*4 + 0x4449d4]
mov esi, dword [esp + 0x34]
lea eax, [esi + 1]
push eax
call fcn.00408bd0
add esp, 4
push 0
push esi
mov dword [esp + 0x40], eax
push eax
push dword [esp + 0x1c]
call fcn.0043c800
add esp, 0x10
not eax
shr eax, 0x1f
xor ecx, ecx
xor ebx, ebx
jmp dword [eax*4 + 0x4449dc]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov byte [edi + esi], 0
push 0x20
call fcn.00408bd0
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x9c], eax
mov ecx, eax
push esi
push edi
call fcn.00425ba0
movzx eax, al
mov dword [esp], 0
xor ebx, ebx
jmp dword [eax*4 + 0x4449e4]
mov dword [esp + 0x40], 0x7707e63
mov dword [esp + 0x44], 0x7a086803
mov dword [esp + 0x48], 0x77636fb7
mov dword [esp + 0x4c], 0x70ad7c0a
mov dword [esp + 0x50], 0x6e7b6010
mov dword [esp + 0x54], 0x686958ab
mov dword [esp + 0x58], 0x1f601867
mov word [esp + 0x5c], 0x911f
mov dword [esp + 0x5e], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x21
ja 0x42315b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + 0x75fa5e42]
add eax, 0x42
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0xe4], edx
mov eax, dword [esp + 0xe4]
mov ecx, eax
or ecx, 0x31
and eax, 0x31
add eax, ecx
inc al
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x22
jb 0x423110
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0x40]
push eax
call fcn.00425dd0
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x4449ec]
mov ecx, dword [esp]
jmp dword [0x444a1c]
mov esi, dword [esp + 0x9c]
mov ecx, esi
call fcn.00425f40
push esi
call fcn.00408be0
add esp, 4
mov ecx, dword [esp]
jmp dword [0x444a24]
jmp dword [0x444a24]
push dword [esp + 0x38]
mov esi, ecx
call fcn.00408be0
mov ecx, esi
add esp, 4
mov dword [esp + 0x20], ebx
mov ebx, ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], 0xfaf9f8c7
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov word [esp + 0x4c], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0xd
ja 0x42324a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx esi, byte [esp + edx + 0x40]
mov edx, 0xd28cce60
sub edx, ecx
add ecx, 0x9f
and ecx, esi
or edx, esi
not edx
add edx, esi
sub edx, ecx
mov dword [esp + 0xe4], edx
mov ecx, dword [esp + 0xe4]
add cl, 0xa7
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0xe
jb 0x423200
mov ecx, dword [0x448918]
test ecx, ecx
je 0x42327c
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x44891c]
cmp dword [edi + esi*8], 0x11081610
je 0x423270
inc esi
cmp ecx, esi
jne 0x423260
jmp 0x42327c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x423d50
mov edi, ebx
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0xa0]
jmp dword [0x444a2c]
xor eax, eax
cmp ebx, edi
sete al
jmp dword [eax*4 + 0x444a34]
mov dword [esp], edi
mov eax, edi
mov dword [esp + 0x20], ebx
sub eax, ebx
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408bd0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], 0x8b5e8db1
mov dword [esp + 0x44], 0x8779897b
mov dword [esp + 0x48], 0x83768565
mov dword [esp + 0x4c], 0x9f6e8141
mov dword [esp + 0x50], 0x9b469d6c
mov dword [esp + 0x54], 0x971a9979
mov dword [esp + 0x58], 0x93af9575
mov dword [esp + 0x5c], 0xaf419174
mov dword [esp + 0x60], 0xab57ad20
mov dword [esp + 0x64], 0xa753a949
mov dword [esp + 0x68], 0xa356a540
mov dword [esp + 0x6c], 0xbf41a153
mov dword [esp + 0x70], 0xbb4ebd5d
mov dword [esp + 0x74], 0xb73cb98a
mov dword [esp + 0x78], 0xb348b548
lea eax, [esp + 0x7c]
mov word [esp + 0x7c], 0xb1b0
mov dword [esp + 0x7e], 0
mov dword [esp + 0x82], 0
mov byte [esp + 0x86], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0x46
ja 0x4233b2
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x40]
lea esi, [ecx - 0x56c048be]
add ecx, 0x42
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 0xe4], esi
mov ecx, dword [esp + 0xe4]
add cl, 0x32
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x47
jb 0x423370
lea ebx, [esp + 0xe4]
lea edx, [esp + 0x40]
mov edi, ebx
mov ecx, 0xf
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x120]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0x34]
push esi
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x448914]
mov ebx, dword [esp + 0x34]
test ebx, ebx
jns 0x4233fe
mov eax, 0xffffffff
jmp 0x423401
lea eax, [ebx + ebx]
push eax
call fcn.00408bd0
add esp, 4
mov edi, eax
push esi
push ebx
push eax
push 0x1e
lea eax, [esp + 0xf4]
push eax
push 0
call dword [0x448914]
lea eax, [esp + 0xd4]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0xac], edi
push edi
call fcn.0043c350
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444a3c]
xor edx, edx
mov esi, dword [esp + 0x1c]
jmp dword [0x444b2c]
push dword [esp + 0x9c]
mov ebx, edx
call fcn.00408be0
add esp, 4
mov eax, ebx
mov edx, ebx
and al, 1
movzx ecx, al
lea edi, [esp + 0x40]
mov ebx, dword [esp + 0x20]
mov eax, edx
jmp dword [ecx*4 + 0x444b34]
lea eax, [esp + 0xdc]
push 0
push eax
push dword [esp + 0xdc]
call fcn.0043c6f0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x18], 0
mov esi, dword [esp + 0x1c]
jmp dword [eax*4 + 0x444a44]
mov esi, dword [esp + 0xdc]
lea eax, [esi + 1]
push eax
call fcn.00408bd0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0xe0]
call fcn.0043c800
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x18], 0
mov esi, dword [esp + 0x1c]
jmp dword [eax*4 + 0x444a4c]
mov esi, dword [esp + 0xdc]
mov byte [edi + esi], 0
push 0x20
call fcn.00408bd0
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0xd8], eax
mov ecx, eax
push esi
mov dword [esp + 0xe4], edi
push edi
call fcn.00425ba0
movzx eax, al
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 4], ecx
mov edi, dword [esp]
jmp dword [eax*4 + 0x444a54]
mov dword [esp + 0x40], 0x67985ebb
mov dword [esp + 0x44], 0x9260906b
mov dword [esp + 0x48], 0x979b8fa7
mov dword [esp + 0x4c], 0x88ad9c62
mov dword [esp + 0x50], 0x8e839868
mov dword [esp + 0x54], 0x7575a6b3
mov dword [esp + 0x58], 0x7f8d8076
mov dword [esp + 0x5c], 0x878988af
mov word [esp + 0x60], 0xed89
mov dword [esp + 0x66], 0
mov dword [esp + 0x62], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x29
ja 0x42360e
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + ecx]
add eax, 0x5e
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x694c215e
mov dword [esp + 8], edx
mov eax, dword [esp + 8]
add al, 0x6e
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x2a
jb case.default.0x423636
mov ecx, dword [esp + 0xd8]
lea eax, [esp + 0x40]
push eax
call fcn.00425dd0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x18], 0
mov edx, dword [esp + 0x1c]
mov dword [esp + 4], edx
jmp dword [ecx*4 + 0x444a5c]
mov dword [esp], edi
mov eax, dword [case.0x422e3e.116]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov edi, dword [esp + 0xe0]
mov esi, dword [esp + 4]
jmp dword [0x444b1c]
mov ebx, dword [esp + 0xd8]
mov ecx, ebx
call fcn.00425f40
push ebx
call fcn.00408be0
add esp, 4
jmp dword [0x444b24]
jmp dword [0x444a70]
add eax, 8
mov dword [esp + 0x18], 0
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
mov edx, dword [esp + 0x1c]
mov dword [esp + 4], edx
jmp dword [eax*4 + 0x444a74]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x444a74]
jmp dword [0x444a84]
mov ebx, dword [ecx]
xor esi, esi
cmp dword [ecx + 0x18], 3
jne case.default.0x4236da
mov esi, dword [ecx + 0x10]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x444a8c]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x444a94]
mov dword [esp + 0x98], ecx
mov dword [esp], edi
mov ecx, esi
nop
nop
nop
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne case.default.0x423749
mov ecx, eax
not ecx
and ecx, esi
mov edx, esi
not edx
and edx, eax
sub edx, ecx
inc edx
shr edx, 1
mov dword [esp + 0xa4], edx
lea eax, [edx + 1]
push eax
call fcn.00408bd0
add esp, 4
mov edi, eax
movsx ecx, byte [esi]
xor edx, edx
test cl, cl
setne dl
mov dword [esp + 0x3c], eax
mov eax, esi
mov esi, dword [esp + 4]
mov dword [esp + 0xd0], esi
jmp dword [edx*4 + 0x444a9c]
inc esi
mov byte [edi], cl
inc edi
movsx ecx, byte [esi]
xor edx, edx
test cl, cl
setne dl
mov eax, esi
jmp dword [edx*4 + 0x444a9c]
mov edx, ecx
or edx, 0x20
lea esi, [edx - 0x61]
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x42377c
mov ecx, 0xffffffff
cmp esi, 6
jae case.default.0x423793
add edx, 0xffffffa9
mov ecx, edx
movsx edx, byte [eax + 1]
mov esi, eax
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x444aa4]
mov dword [esp + 0x2c], esi
mov esi, edx
or esi, 0x20
lea eax, [esi - 0x61]
mov dword [esp + 4], eax
add edx, 0xffffffd0
cmp edx, 0xa
jb 0x4237b7
mov edx, 0xffffffff
shl ecx, 4
mov eax, dword [esp + 0x2c]
add eax, 2
cmp dword [esp + 4], 6
jae case.default.0x4237dc
add esi, 0xffffffa9
mov edx, esi
or edx, ecx
mov byte [edi], dl
inc edi
movsx ecx, byte [eax]
xor edx, edx
test cl, cl
setne dl
jmp dword [edx*4 + 0x444a9c]
mov byte [edi], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc ebx
movzx eax, byte [ebx - 1]
movsx ecx, al
lea edx, [ecx - 9]
cmp edx, 5
jb 0x4237f0
cmp ecx, 0x20
je 0x4237f0
movzx ecx, al
cmp ecx, 0x2b
je 0x423816
cmp ecx, 0x2d
jne 0x423b72
cmp al, 0x2b
sete byte [esp + 0x27]
movzx eax, byte [ebx]
cmp al, 0x30
jne 0x423834
movzx eax, byte [ebx + 1]
and al, 0xdf
xor ecx, ecx
cmp al, 0x58
sete cl
lea ebx, [ebx + ecx*2]
xor esi, esi
xor edi, edi
xor ecx, ecx
jmp 0x42386b
mov dword [esp + 4], 0
xor eax, eax
mov dword [esp + 0x28], 0xffffffff
mov edx, 0xffffffff
mov dword [esp + 0x2c], 0x22
mov edi, dword [esp + 4]
add edi, dword [esp + 0x28]
adc eax, edx
mov esi, dword [esp + 0x2c]
mov ecx, eax
mov edx, ecx
mov dword [esp + 0x2c], esi
movsx eax, byte [ebx]
lea ecx, [eax - 0x30]
cmp ecx, 0xa
jb 0x42389d
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x19
ja 0x42395f
or al, 0x20
cmp al, 0x66
jg 0x42395f
movsx ecx, al
add ecx, 0xffffffa9
mov dword [esp + 4], ecx
inc ebx
mov dword [esp + 0x28], edi
mov eax, edi
and eax, edx
mov edi, 0xffffffff
mov esi, 0x22
mov ecx, 0xffffffff
cmp eax, 0xffffffff
je 0x42386b
test edx, 0xf0000000
je 0x4238e0
cmp dword [esp + 4], 0
jne 0x42386b
jmp 0x42383c
mov ecx, dword [esp + 0x28]
mov esi, ecx
and esi, 0x10
mov edi, esi
xor edi, 0x10
mov dword [esp + 0x30], edx
mov edx, ecx
and edx, 0xffffffef
mov eax, edi
imul eax, dword [esp + 0x30]
mov dword [esp + 0x38], eax
mov eax, edi
mul edx
mov dword [esp + 0xa0], eax
add edx, dword [esp + 0x38]
mov dword [esp + 0x38], edx
or ecx, 0x10
mov eax, ecx
mul esi
mov ecx, dword [esp + 0x30]
imul ecx, esi
or edx, ecx
add eax, dword [esp + 0xa0]
adc edx, dword [esp + 0x38]
mov ecx, dword [esp + 4]
mov esi, ecx
sar esi, 0x1f
mov dword [esp + 0x28], eax
add ecx, eax
mov eax, esi
mov ecx, esi
adc ecx, edx
mov edi, 0xffffffff
mov ecx, 0xffffffff
mov esi, 0x22
jb 0x42386b
jmp 0x42385b
xor esi, esi
mov eax, edi
neg eax
mov ecx, 0
sbb ecx, edx
cmp byte [esp + 0x27], 0
jne case.default.0x423992
mov edi, eax
mov edx, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], edx
mov eax, dword [case.0x423636.28]
xor edx, edx
mov edi, dword [esp]
mov ecx, dword [esp + 0x20]
cmp ecx, edi
setne dl
jmp dword [edx*4 + 0x444aac]
mov dword [esp], edi
cmp dword [esp + 0x2c], 0x22
setne dl
mov edi, dword [ecx + 4]
mov ebx, edi
shr ebx, 0x1c
xor ebx, dword [esp + 0x30]
shl edi, 4
or edi, 1
xor edi, dword [esp + 0x28]
or edi, ebx
sete dh
and dh, dl
movzx edx, dh
jmp dword [edx*4 + 0x444ab4]
mov edx, 1
mov edi, dword [esp]
jmp dword [edx*4 + 0x444abc]
mov esi, dword [ecx]
xor edx, edx
mov edi, dword [esp]
jmp dword [edx*4 + 0x444abc]
jmp eax
add ecx, 8
xor edx, edx
cmp ecx, edi
setne dl
jmp dword [edx*4 + 0x444aac]
mov eax, dword [case.0x423636.33]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x444ae4]
mov eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x98]
jmp dword [0x444b04]
mov dword [esp], edi
mov edi, esi
not edi
lea ebx, [esp + 0x40]
jmp dword [0x444aec]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x44], eax
xor eax, eax
nop
nop
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jne 0x423a70
lea ecx, [esi + eax]
dec ecx
add eax, esi
neg eax
and eax, esi
and ecx, edi
sub ecx, eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
push 0x932a8d34
push dword [0x448924]
call fcn.0043b710
add esp, 8
lea ecx, [esp + 8]
lea edx, [esp + 0x10]
push edx
push 1
push 0
push 0
push ecx
push 0
push ebx
call eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, esi
neg eax
lea ecx, [esi - 1]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x44], edx
xor edx, edx
nop
nop
nop
nop
cmp byte [esi + edx], 0
lea edx, [edx + 1]
jne 0x423af0
add ecx, edx
sub eax, edx
and eax, esi
and ecx, edi
sub ecx, eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
push 0x932a8d34
push dword [0x448924]
call fcn.0043b710
add esp, 8
lea ecx, [esp + 8]
lea edx, [esp + 0x10]
push edx
push 1
push 0
push 0
push ecx
push 0
push ebx
call eax
jmp dword [0x444af8]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444afc]
mov eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov edi, dword [esp]
mov ecx, dword [esp + 0x98]
jmp dword [0x444b04]
dec ebx
mov byte [esp + 0x27], 1
cmp al, 0x30
je 0x423824
jmp 0x423834
movzx eax, byte [esi]
test al, al
mov edi, dword [esp]
mov ebx, dword [esp + 0xd0]
je 0x423bab
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x423ba0
mov word [ebx], 0x203a
add ebx, 2
mov edx, dword [esp + 0x10]
test edx, edx
je 0x423bef
mov eax, dword [esp + 0x14]
mov ecx, edx
and ecx, 3
je 0x423bf3
mov dword [esp + 4], edx
xor esi, esi
mov edx, ebx
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [edx + esi], bl
mov ebx, edx
inc esi
cmp ecx, esi
jne 0x423bcc
add ebx, esi
mov edx, dword [esp + 4]
mov ecx, edx
sub ecx, esi
mov esi, ebx
jmp 0x423bf5
mov esi, ebx
jmp 0x423c33
mov ecx, edx
cmp edx, 4
jb 0x423c33
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebx], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebx + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebx + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea esi, [ebx + 4]
mov byte [ebx + 3], dl
mov ebx, esi
add ecx, 0xfffffffc
jne 0x423bfa
mov byte [esi], 0xa
inc esi
mov dword [esp + 4], esi
push 0x2e0ec9bb
push dword [0x44890c]
call fcn.0043b710
add esp, 8
push dword [esp + 0x14]
call eax
mov al, 1
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x98]
jmp dword [0x444b04]
push dword [esp + 0x3c]
call fcn.00408be0
mov ecx, dword [esp + 0x9c]
add esp, 4
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x444a74]
jmp dword [0x444b24]
push edi
call fcn.00408be0
add esp, 4
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x40], 0xfaf9f8c7
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov word [esp + 0x4c], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 0xd
ja 0x423d24
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edi, byte [esp + edx + 0x40]
mov edx, 0xd28cce60
sub edx, ecx
add ecx, 0x9f
and ecx, edi
or edx, edi
not edx
add edx, edi
sub edx, ecx
mov dword [esp + 8], edx
mov ecx, dword [esp + 8]
add cl, 0xa7
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 0xe
jb 0x423ce0
mov ecx, dword [0x448918]
test ecx, ecx
je 0x423d81
mov edx, dword [esp + 0x40]
xor edi, edi
mov ebx, dword [0x44891c]
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x11081610
je 0x423d75
inc edi
cmp ecx, edi
jne 0x423d40
jmp 0x423d81
push eax
push 1
push dword [0x448920]
push ecx
call fcn.00439b40
add esp, 0x10
mov edi, ebx
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0xa0]
jmp dword [0x444a2c]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x423eed
mov edx, dword [esp + 0x18]
jmp dword [0x444b2c]
mov eax, edx
and al, 1
movzx ecx, al
lea edi, [esp + 0x40]
mov ebx, dword [esp + 0x20]
mov eax, edx
jmp dword [ecx*4 + 0x444b34]
mov byte [esi], 0
sub esi, dword [esp + 0x1c]
mov dword [esp + 0x40], 0x77747589
mov dword [esp + 0x44], 0x736f6c75
mov dword [esp + 0x48], 0x767e7c79
mov dword [esp + 0x4c], 0x7c7494bb
mov dword [esp + 0x50], 0x8fa56679
mov dword [esp + 0x54], 0x6d7b6463
mov dword [esp + 0x58], 0x6360af63
mov word [esp + 0x5c], 0xd966
mov dword [esp + 0x5e], 0
mov dword [esp + 0x62], 0
mov byte [esp + 0x66], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x26
ja 0x423e5a
nop
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
movzx edx, byte [esp + eax + 0x40]
lea eax, [ecx - 0x2f24d31f]
and eax, edx
add ecx, edx
add ecx, 0xd0db2ce1
add eax, eax
mov edx, eax
xor edx, ecx
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xd9
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x27
jb 0x423e10
mov ecx, dword [ebp + 8]
push esi
push dword [esp + 0x20]
push edi
call fcn.004094a0
mov ecx, dword [case.0x422e3e.128]
mov edi, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
mov ecx, dword [case.0x422e3e.133]
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [0x444b5c]
push dword [esp + 0x1c]
mov esi, eax
call fcn.00408be0
mov eax, esi
add esp, 4
and al, 1
test ebx, ebx
je 0x423ee5
cmp ebx, edi
je 0x423ee5
mov dword [esp + 0x18], eax
mov esi, ebx
jmp 0x423ec4
cmp esi, edi
je 0x423ed8
mov eax, dword [esi]
add esi, 8
test eax, eax
je 0x423ec0
push eax
call fcn.00408be0
add esp, 4
jmp 0x423ec0
push ebx
call fcn.00408be0
add esp, 4
mov eax, dword [esp + 0x18]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push 1
push dword [0x448920]
push ecx
call fcn.00439b40
add esp, 0x10
mov edx, dword [esp + 0x18]
jmp dword [0x444b2c]
mov esi, dword [eax + 8]
xor ebx, ebx
mov eax, dword [case.0x423175.5]
mov dword [esp], 0
xor ecx, ecx
nop
nop
nop
nop
jmp eax
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x444a04]
mov dword [esp + 0x3c], esi
mov esi, dword [esi]
mov eax, dword [esp]
mov edi, eax
sub edi, ebx
sar edi, 3
cmp eax, ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], esi
jne 0x423fcd
mov dword [esp + 0x30], ecx
lea eax, [edi + 1]
mov ecx, edi
shr ecx, 1
mov edx, ecx
and edx, edi
xor ecx, edi
lea esi, [ecx + edx*2]
cmp esi, eax
ja 0x423f6a
mov esi, eax
lea eax, [esi*8]
push eax
call fcn.00408bd0
add esp, 4
mov edi, eax
test ebx, ebx
je 0x423fbd
mov edx, dword [esp + 0x30]
cmp ebx, edx
je 0x423fb4
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebx + eax]
mov dword [edi + eax], ecx
mov ecx, dword [ebx + eax + 4]
mov dword [edi + eax + 4], ecx
mov dword [ebx + eax], 0
lea ecx, [ebx + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x423f90
mov edx, ebx
push edx
call fcn.00408be0
add esp, 4
mov ebx, edi
mov edi, dword [esp + 0x2c]
lea eax, [ebx + edi*8]
lea ecx, [ebx + esi*8]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x30], ecx
mov dword [esp], eax
mov dword [ebx + edi*8], 0
mov dword [esp + 4], ebx
mov dword [ebx + edi*8 + 4], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + ebx], 0
lea ebx, [ebx + 1]
jne 0x423ff0
lea eax, [esi + ebx]
dec eax
add ebx, esi
neg ebx
and ebx, esi
mov ecx, esi
not ecx
and ecx, eax
mov dword [esp + 0xa4], ecx
mov eax, ecx
sub eax, ebx
mov dword [esp + 0x18], eax
lea edi, [eax + 1]
push edi
mov dword [esp + 0x2c], edi
call fcn.00408bd0
add esp, 4
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x2c]
mov dword [ecx + edx*8], eax
mov ecx, edi
shr ecx, 2
mov edx, esi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esp + 0x28]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
add edx, esi
shr ecx, 1
and ecx, 1
mov edi, edx
mov dword [esp + 0x1c], edx
mov edi, eax
mov esi, dword [esp + 0x1c]
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov ecx, dword [esp + 0x28]
test cl, 1
je 0x42407c
mov esi, ecx
and esi, 2
movzx ecx, byte [edx + esi]
mov byte [eax + esi], cl
xor eax, eax
mov edx, dword [esp + 0xa4]
cmp edx, ebx
mov ecx, dword [esp]
mov edi, dword [esp + 4]
mov esi, dword [esp + 0x3c]
je 0x424134
inc ebx
mov eax, 0xffffffff
cmp edx, ebx
je 0x424100
mov ecx, dword [esp + 0x18]
and ecx, 0xfffffffe
mov esi, dword [esp + 0x20]
nop
nop
nop
mov edx, eax
shr edx, 8
movzx edi, byte [esi]
mov ebx, eax
and ebx, edi
add eax, edi
add ebx, ebx
sub eax, ebx
movzx eax, al
xor edx, dword [eax*4 + 0x43f7d0]
mov eax, edx
movzx edi, byte [esi + 1]
mov ebx, edx
and ebx, edi
add edx, edi
add ebx, ebx
sub edx, ebx
shr eax, 8
movzx edx, dl
xor eax, dword [edx*4 + 0x43f7d0]
add esi, 2
add ecx, 0xfffffffe
jne 0x4240b0
mov dword [esp + 0x20], esi
mov ecx, dword [esp]
mov edi, dword [esp + 4]
mov esi, dword [esp + 0x3c]
test byte [esp + 0x18], 1
je 0x424132
mov ecx, eax
shr ecx, 8
mov edx, dword [esp + 0x20]
movzx edx, byte [edx]
mov edi, eax
and edi, edx
add eax, edx
add edi, edi
sub eax, edi
mov edi, dword [esp + 4]
mov ebx, dword [esp]
movzx eax, al
xor ecx, dword [eax*4 + 0x43f7d0]
mov eax, ecx
mov ecx, ebx
not eax
mov ebx, ecx
mov ecx, dword [esp + 0x2c]
mov dword [edi + ecx*8 + 4], eax
add ebx, 8
mov dword [esp], ebx
jmp dword [0x444a10]
mov esi, dword [esi + 4]
nop
nop
nop
mov esi, dword [esi + 4]
jmp dword [0x444a14]
mov eax, dword [case.0x423175.5]
mov ecx, edi
mov ebx, edi
mov ecx, dword [esp + 0x30]
jmp case.0x423175.2
jmp eax
xor eax, eax
cmp dword [esp + 0x88], 3
setne al
jmp dword [eax*4 + 0x444b74]
jmp dword [0x444b80]
jmp dword [0x444c9c]
push edi
call fcn.00408be0
add esp, 4
mov eax, dword [case.0x422e3e.219]
jmp eax
jmp dword [0x444cb4]
push ebx
call fcn.00408be0
add esp, 4
jmp case.0x422e3e.208
cmp dword [esp + 0xf4], esi
jne 0x424629
mov eax, dword [esp + 0xf0]
add eax, 0xfffffffb
mov dword [esp + 0x50], eax
lea eax, [ecx + 5]
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
push 0x932a8d34
push dword [0x448924]
call fcn.0043b710
add esp, 8
lea ecx, [esp + 0x48]
lea edx, [esp + 0x50]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
mov esi, dword [esp + 0xf8]
jmp case.0x422e3e.162
xor esi, esi
mov ebx, 2
jmp 0x424656
mov ecx, dword [esp + 0x44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [ebx + 4]
add ebx, 2
mov esi, ecx
cmp ebx, edx
mov ebx, eax
mov ecx, dword [esp + 0x40]
jae 0x4245cf
mov edi, dword [esp + 0x68]
movzx eax, byte [edi + ebx - 2]
push eax
call fcn.00418980
add esp, 4
mov byte [esp + 0x44], al
movzx eax, byte [edi + ebx - 1]
push eax
call fcn.00418980
add esp, 4
movzx edx, byte [esp + 0x44]
shl dl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, dl
mov edx, dword [esp + 0x40]
mov byte [edx + esi], cl
lea ecx, [esi + 1]
mov edx, dword [esp + 0x6c]
cmp ebx, edx
jae 0x424640
mov byte [esp + 0x44], al
mov edi, esi
mov eax, dword [esp + 0x68]
movzx eax, byte [eax + ebx]
push eax
mov esi, ecx
call fcn.00418980
mov ecx, esi
mov edx, dword [esp + 0x70]
add esp, 4
cmp al, 0x40
je 0x424640
movzx ecx, byte [esp + 0x44]
shl cl, 4
mov ah, al
shr ah, 2
and ah, 0xf
or ah, cl
mov esi, edi
lea ecx, [edi + 2]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x40]
mov byte [ecx + edi + 1], ah
mov ecx, eax
lea eax, [ebx + 1]
cmp eax, edx
jae 0x424632
mov eax, dword [esp + 0x68]
movzx eax, byte [eax + ebx + 1]
push eax
mov byte [esp + 0x90], cl
call fcn.00418980
mov edx, dword [esp + 0x70]
add esp, 4
cmp al, 0x40
mov ecx, dword [esp + 0x44]
mov ah, byte [esp + 0x8c]
je 0x424640
shl ah, 6
add al, ah
mov ecx, dword [esp + 0x40]
mov byte [ecx + edi + 2], al
add edi, 3
mov ecx, edi
jmp 0x424640
mov eax, dword [esp + 0xf0]
add eax, 0xfffffffb
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x40]
add eax, 5
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
push 0x932a8d34
push dword [0x448924]
call fcn.0043b710
add esp, 8
lea ecx, [esp + 0x48]
lea edx, [esp + 0x50]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
mov esi, dword [esp + 0xf8]
jmp dword [0x444bd4]
cmp dword [esp + 0xf4], esi
je 0x424740
xor edi, edi
mov esi, 2
jmp 0x4247d2
mov ecx, dword [esp + 0x8c]
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esi + 4]
add esi, 2
mov edi, ecx
cmp esi, edx
mov esi, eax
jae 0x424740
mov ebx, dword [esp + 0x68]
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.00418980
add esp, 4
mov byte [esp + 0x44], al
movzx eax, byte [ebx + esi - 1]
push eax
call fcn.00418980
add esp, 4
mov bh, al
movzx ecx, byte [esp + 0x44]
shl cl, 2
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esp + 0x40]
mov byte [ecx + edi], al
lea ecx, [edi + 1]
mov edx, dword [esp + 0x6c]
cmp esi, edx
jae 0x4247c0
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x68]
movzx eax, byte [eax + esi]
push eax
mov edi, ecx
call fcn.00418980
mov ecx, edi
mov edx, dword [esp + 0x70]
add esp, 4
cmp al, 0x40
je 0x4247c0
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [esp + 0x44]
lea ecx, [edi + 2]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x40]
mov byte [ecx + edi + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x4247b1
mov eax, dword [esp + 0x68]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00418980
mov edx, dword [esp + 0x70]
add esp, 4
cmp al, 0x40
mov ecx, dword [esp + 0x8c]
je 0x4247c0
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov byte [ecx + edi + 2], al
add edi, 3
mov ecx, edi
jmp 0x4247c0
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444bdc]
xor ebx, ebx
mov eax, dword [case.0x422e3e.181]
mov edi, dword [esp + 0xec]
mov esi, dword [esp + 0xe8]
jmp case.0x422e3e.178
mov esi, dword [esp + 0x64]
jmp dword [0x444be4]
jmp dword [0x444c70]
mov eax, dword [esp + 0x70]
mov dword [esp + 8], 0xfaf9f8c7
lea ecx, [esp + 0x20]
mov word [ecx - 0xc], 0
mov dword [ecx - 0x10], 0
mov dword [ecx - 0x14], 0
mov dword [esp + 0x50], 0
mov ecx, dword [esp + 0x50]
cmp ecx, 0xd
ja 0x42496a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x50]
movzx esi, byte [esp + edx + 8]
mov edx, 0xd28cce60
sub edx, ecx
add ecx, 0x9f
and ecx, esi
or edx, esi
not edx
add edx, esi
sub edx, ecx
mov dword [esp + 0x98], edx
mov ecx, dword [esp + 0x98]
add cl, 0xa7
mov edx, dword [esp + 0x50]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
cmp ecx, 0xe
jb 0x424920
mov ecx, dword [0x448918]
test ecx, ecx
je case.0x422e3e.203
mov edx, dword [esp + 8]
xor esi, esi
mov edi, dword [0x44891c]
cmp dword [edi + esi*8], 0x11081610
je 0x424990
inc esi
cmp ecx, esi
jne 0x424980
jmp case.0x422e3e.203
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x422e3e.203
push eax
push 1
push dword [0x448920]
push ecx
call fcn.00439b40
add esp, 0x10
jmp case.0x422e3e.203
jmp dword [0x444c78]
mov eax, dword [esp + 0x70]
mov dword [esp + 8], 0xfaf9f8c7
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov word [esp + 0x14], 0
mov dword [esp + 0x50], 0
mov ecx, dword [esp + 0x50]
cmp ecx, 0xd
ja 0x424a3a
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x50]
movzx esi, byte [esp + edx + 8]
mov edx, 0xd28cce60
sub edx, ecx
add ecx, 0x9f
and ecx, esi
or edx, esi
not edx
add edx, esi
sub edx, ecx
mov dword [esp + 0x98], edx
mov ecx, dword [esp + 0x98]
add cl, 0xa7
mov edx, dword [esp + 0x50]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
cmp ecx, 0xe
jb 0x4249f0
mov ecx, dword [0x448918]
test ecx, ecx
je 0x4249b0
mov edx, dword [esp + 8]
xor esi, esi
mov edi, dword [0x44891c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x424a80
inc esi
cmp ecx, esi
jne 0x424a60
jmp 0x4249b0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x4249b0
push eax
push 1
push dword [0x448920]
push ecx
call fcn.00439b40
add esp, 0x10
jmp 0x4249b0
mov eax, dword [esp + 0x88]
mov esi, dword [esp + eax*4 + 0x11c]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x424ac0
sar eax, 1
mov dword [esp + 8], 0x3500562
mov dword [esp + 0xc], 0xf6d0173
mov dword [esp + 0x10], 0xb780d61
mov dword [esp + 0x14], 0x1755092a
mov dword [esp + 0x18], 0x137b156a
mov dword [esp + 0x1c], 0x1f7b116e
mov word [esp + 0x20], 0x1d1e
lea ecx, [esp + 0x20]
mov dword [ecx + 5], 0
mov dword [ecx + 2], 0
mov dword [esp + 0x50], 0
mov ecx, dword [esp + 0x50]
cmp ecx, 0x20
ja 0x424b70
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x50]
movzx edx, byte [esp + edx + 8]
lea edi, [ecx - 0x17b6c4ff]
inc ecx
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esp + 0x98], edi
mov ecx, dword [esp + 0x98]
add cl, 0xf9
mov edx, dword [esp + 0x50]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
cmp ecx, 0x21
jb 0x424b30
lea edi, [esp + 0xfc]
lea edx, [esp + 8]
mov ecx, 6
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x20]
lea edi, [esp + 0x114]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, dword [esp + 0x7c]
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xd
lea eax, [edx + edx]
add eax, 0x1a
test ecx, ecx
jns 0x424bb8
mov eax, 0xffffffff
push eax
call fcn.00408bd0
add esp, 4
movzx edx, word [ebx]
mov ecx, eax
test dx, dx
je 0x424bf1
mov edi, dword [esp + 0x80]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x424be0
mov word [ecx], 0x5c
add ecx, 2
movzx edx, word [esi]
test dx, dx
je 0x424c21
add esi, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x424c10
mov word [ecx], 0
movzx edx, word [esp + 0xfc]
test dx, dx
je 0x424c51
lea esi, [esp + 0xfe]
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x424c40
mov word [ecx], 0
lea ecx, [esp + 0x70]
push 0x60
push 3
push 0x120089
push ecx
push eax
call fcn.0043c350
add esp, 0x14
mov eax, dword [esp + 0x88]
mov esi, dword [esp + eax*4 + 0x11c]
mov eax, 0xfffffffe
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x424c80
mov dword [esp + 0x84], eax
sar eax, 1
mov dword [esp + 0x90], eax
mov dword [esp + 8], 0x3500562
mov dword [esp + 0xc], 0xf6d0173
mov dword [esp + 0x10], 0xb780d61
mov dword [esp + 0x14], 0x1755092a
mov dword [esp + 0x18], 0x137b156a
mov dword [esp + 0x1c], 0x1f7b116e
mov word [esp + 0x20], 0x1d1e
lea eax, [esp + 0x20]
mov dword [eax + 5], 0
mov dword [eax + 2], 0
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x50]
cmp eax, 0x20
ja 0x424d3f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax - 0x17b6c4ff]
inc eax
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x98], edx
mov eax, dword [esp + 0x98]
add al, 0xf9
mov ecx, dword [esp + 0x50]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x50]
mov eax, dword [esp + 0x50]
cmp eax, 0x21
jb 0x424d00
lea edi, [esp + 0xfc]
lea eax, [esp + 8]
mov ecx, 6
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x20]
lea edi, [esp + 0x114]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x90]
lea ecx, [edx + eax]
add edx, eax
add edx, 0xd
lea eax, [ecx + ecx]
add eax, 0x1a
test edx, edx
jns 0x424d8a
mov eax, 0xffffffff
push eax
call fcn.00408bd0
add esp, 4
mov edi, eax
movzx ecx, word [ebx]
test cx, cx
je 0x424dc1
mov edx, dword [esp + 0x80]
mov eax, edi
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 0x424db0
mov word [eax], 0x5c
add eax, 2
movzx ecx, word [esi]
test cx, cx
je 0x424df1
lea edx, [esi + 2]
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 0x424de0
mov word [eax], 0
movzx ecx, word [esp + 0xfc]
test cx, cx
je 0x424e21
lea edx, [esp + 0xfe]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424e10
mov word [eax], 0
lea eax, [esp + 0x70]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.0043c350
add esp, 0x14
jmp dword [0x444b84]
mov dword [esp + 0x118], edi
mov dword [esp + 0x64], esi
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x444b8c]
jmp dword [0x444c7c]
push dword [esp + 0x118]
call fcn.00408be0
add esp, 4
movzx eax, bl
mov esi, dword [esp + 0x64]
jmp dword [eax*4 + 0x444c84]
jmp dword [0x444c8c]
jmp 0x425274
lea eax, [esp + 0x94]
push 0
push eax
push dword [esp + 0x78]
call fcn.0043c6f0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x444b94]
jmp dword [0x444b9c]
movzx eax, bl
mov esi, dword [esp + 0x64]
jmp dword [eax*4 + 0x444c84]
mov ebx, dword [esp + 0x74]
inc dword [esp + 0x88]
mov eax, dword [case.0x422e3e.138]
jmp case.0x422e3e.136
mov dword [esp + 8], 0xdb6ed97c
mov dword [esp + 0xc], 0xd775d543
mov dword [esp + 0x10], 0xd346d171
mov dword [esp + 0x14], 0xcf7dcd2c
mov dword [esp + 0x18], 0xcb5dc944
mov dword [esp + 0x1c], 0xc767c556
mov dword [esp + 0x20], 0xc35fc15f
mov dword [esp + 0x24], 0xbf2abd18
mov dword [esp + 0x28], 0xbb34b925
mov dword [esp + 0x2c], 0xb722b529
mov dword [esp + 0x30], 0xb310b12c
mov word [esp + 0x34], 0xadac
lea eax, [esp + 0x20]
mov byte [eax + 0x1e], 0
mov dword [eax + 0x1a], 0
mov dword [eax + 0x16], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x36
ja 0x424fa5
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx edx, byte [esp + ecx + 8]
lea ecx, [eax + edx]
add ecx, 0x4f072824
add eax, 0x4f072824
and eax, edx
add eax, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 4
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x37
jb 0x424f60
lea edi, [esp + 0x98]
lea eax, [esp + 8]
mov ecx, 0xb
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x34]
lea edi, [esp + 0xc4]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x90]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx + ecx]
add eax, 0x2e
test edx, edx
jns 0x424ff0
mov eax, 0xffffffff
push eax
call fcn.00408bd0
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x74]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x425031
mov edx, dword [esp + 0x80]
mov eax, ebx
nop
nop
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 0x425020
mov word [eax], 0x5c
add eax, 2
movzx ecx, word [esi]
test cx, cx
je 0x425061
lea edx, [esi + 2]
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 0x425050
mov word [eax], 0
movzx ecx, word [esp + 0x98]
test cx, cx
je 0x425091
lea edx, [esp + 0x9a]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425080
mov word [eax], 0
mov dword [esp + 8], 0xbbd4b987
mov dword [esp + 0xc], 0xbfcabddd
mov dword [esp + 0x10], 0xc3acc1d9
mov dword [esp + 0x14], 0xc7a6c5a6
mov word [esp + 0x18], 0xc9c6
mov dword [esp + 0x1e], 0
mov dword [esp + 0x1a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x19
ja 0x425120
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, eax
and edx, 0xdbe081b7
xor eax, 0xdbe081b7
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x48]
dec al
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1a
jb 0x4250e0
lea edi, [esp + 0x50]
lea eax, [esp + 8]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x18]
lea edi, [esp + 0x60]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esp + 0x84]
lea eax, [ecx + 0x12]
cmp ecx, 0xffffffed
jge 0x425157
mov eax, 0xffffffff
push eax
call fcn.00408bd0
add esp, 4
movzx edx, word [esi]
mov ecx, eax
test dx, dx
je 0x425191
mov ecx, dword [esp + 0x64]
lea esi, [ecx + 2]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x425180
mov word [ecx], 0
movzx edx, word [esp + 0x50]
test dx, dx
je 0x4251c1
lea esi, [esp + 0x52]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x4251b0
mov word [ecx], 0
mov dword [esp + 8], 0x4b545508
lea ecx, [esp + 0x20]
mov word [ecx - 0xc], 0
mov dword [ecx - 0x10], 0
mov dword [ecx - 0x14], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xd
ja 0x425246
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
lea esi, [ecx - 0x2b09c533]
lea edi, [ecx + 0xcd]
or esi, edi
and edi, edx
and esi, edx
add esi, edi
add ecx, edx
add ecx, 0xd4f63acd
sub ecx, esi
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x48]
add cl, 0x65
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe
jb 0x425200
push 0
push 0
push 0
push 0xc00000
lea ecx, [esp + 0x18]
push ecx
push ebx
push eax
push dword [ebp + 8]
call fcn.0041b580
add esp, 0x20
mov ecx, dword [esp + 0x78]
and cl, 1
or cl, al
mov dword [esp + 0x78], ecx
mov esi, dword [esp + 0x64]
mov dword [esp + 8], 0xdb6ed97c
mov dword [esp + 0xc], 0xd775d543
mov dword [esp + 0x10], 0xd346d171
mov dword [esp + 0x14], 0xcf7dcd2c
mov dword [esp + 0x18], 0xcb5dc944
mov dword [esp + 0x1c], 0xc767c556
mov dword [esp + 0x20], 0xc35fc15f
mov dword [esp + 0x24], 0xbf2abd18
mov dword [esp + 0x28], 0xbb34b925
mov dword [esp + 0x2c], 0xb722b529
mov dword [esp + 0x30], 0xb310b12c
mov word [esp + 0x34], 0xadac
lea eax, [esp + 0x20]
mov byte [eax + 0x1e], 0
mov dword [eax + 0x1a], 0
mov dword [eax + 0x16], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x36
ja 0x425345
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx edx, byte [esp + ecx + 8]
lea ecx, [eax + edx]
add ecx, 0x4f072824
add eax, 0x4f072824
and eax, edx
add eax, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 4
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x37
jb 0x425300
lea edi, [esp + 0x98]
lea eax, [esp + 8]
mov ecx, 0xb
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x34]
lea edi, [esp + 0xc4]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x90]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx + ecx]
add eax, 0x2e
test edx, edx
jns 0x425390
mov eax, 0xffffffff
push eax
call fcn.00408bd0
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x74]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x4253d1
mov edx, dword [esp + 0x80]
mov eax, ebx
nop
nop
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 0x4253c0
mov word [eax], 0x5c
add eax, 2
movzx ecx, word [esi]
test cx, cx
je 0x425401
lea edx, [esi + 2]
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 0x4253f0
mov word [eax], 0
movzx ecx, word [esp + 0x98]
test cx, cx
je 0x425431
lea edx, [esp + 0x9a]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425420
mov word [eax], 0
mov dword [esp + 8], 0xbbd4b987
mov dword [esp + 0xc], 0xbfcabddd
mov dword [esp + 0x10], 0xc3acc1d9
mov dword [esp + 0x14], 0xc7a6c5a6
mov word [esp + 0x18], 0xc9c6
mov dword [esp + 0x1e], 0
mov dword [esp + 0x1a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x19
ja 0x4254c0
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, eax
and edx, 0xdbe081b7
xor eax, 0xdbe081b7
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x48]
dec al
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1a
jb 0x425480
lea edi, [esp + 0x50]
lea eax, [esp + 8]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x18]
lea edi, [esp + 0x60]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esp + 0x84]
lea eax, [ecx + 0x12]
cmp ecx, 0xffffffed
jge 0x4254f7
mov eax, 0xffffffff
push eax
call fcn.00408bd0
add esp, 4
mov edi, eax
movzx ecx, word [esi]
test cx, cx
je 0x425521
lea edx, [esi + 2]
mov eax, edi
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425510
mov word [eax], 0
movzx ecx, word [esp + 0x50]
test cx, cx
je 0x425551
lea edx, [esp + 0x52]
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 0x425540
mov word [eax], 0
mov dword [esp + 8], 0x4b545508
lea eax, [esp + 0x20]
mov word [eax - 0xc], 0
mov dword [eax - 0x10], 0
mov dword [eax - 0x14], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xd
ja 0x4255d4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax - 0x2b09c533]
lea esi, [eax + 0xcd]
or edx, esi
and esi, ecx
and edx, ecx
add edx, esi
add eax, ecx
add eax, 0xd4f63acd
sub eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x65
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xe
jb 0x425590
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x18]
push eax
push ebx
push edi
push dword [ebp + 8]
call fcn.0041b580
add esp, 0x20
mov ecx, dword [esp + 0x78]
and cl, 1
or cl, al
mov dword [esp + 0x78], ecx
mov esi, dword [esp + 0x64]
jmp dword [0x444c94]
mov dword [esp + 0x98], 0xfb5cf9d7
mov dword [esp + 0x9c], 0xffa2fd6a
mov dword [esp + 0xa0], 0xf378f16a
mov dword [esp + 0xa4], 0xf7f4f566
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xf
ja 0x425699
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x98]
lea edx, [eax + 0x958683f]
add eax, 0x3f
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp], edx
mov eax, dword [esp]
mov ecx, eax
or ecx, 0x46
and eax, 0x46
add eax, ecx
inc al
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x98], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x10
jb 0x425650
lea eax, [esp + 0x98]
mov ecx, 4
lea edi, [esp + 8]
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0xa8]
lea edi, [esp + 0x18]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esp + 0x84]
lea eax, [ecx + 0x10]
cmp ecx, 0xffffffef
jge 0x4256d3
mov eax, 0xffffffff
push eax
call fcn.00408bd0
add esp, 4
movzx edx, word [esi]
mov ecx, eax
test dx, dx
je 0x425701
mov ecx, dword [esp + 0x64]
lea esi, [ecx + 2]
mov ecx, eax
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x4256f0
mov word [ecx], 0
movzx edx, word [esp + 8]
test dx, dx
je 0x425731
lea esi, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x425720
mov word [ecx], 0
mov ecx, dword [ebp + 8]
push dword [esp + 0x48]
push dword [esp + 0x50]
push eax
call fcn.004092f0
mov esi, dword [esp + 0x64]
mov dword [esp + 0x98], 0xfb5cf9d7
mov dword [esp + 0x9c], 0xffa2fd6a
mov dword [esp + 0xa0], 0xf378f16a
mov dword [esp + 0xa4], 0xf7f4f566
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xf
ja 0x4257d9
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x98]
lea edx, [eax + 0x958683f]
add eax, 0x3f
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp], edx
mov eax, dword [esp]
mov ecx, eax
or ecx, 0x46
and eax, 0x46
add eax, ecx
inc al
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x98], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x10
jb 0x425790
lea eax, [esp + 0x98]
lea edi, [esp + 8]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0xa8]
lea edi, [esp + 0x18]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esp + 0x84]
lea eax, [ecx + 0x10]
cmp ecx, 0xffffffef
jge 0x425813
mov eax, 0xffffffff
push eax
call fcn.00408bd0
add esp, 4
mov edi, eax
movzx ecx, word [esi]
test cx, cx
je 0x425841
lea edx, [esi + 2]
mov eax, edi
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425830
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x425871
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 0x425860
mov word [eax], 0
mov ecx, dword [ebp + 8]
push dword [esp + 0x48]
push dword [esp + 0x50]
push edi
call fcn.004092f0
jmp dword [0x444bf0]
mov ebx, eax
mov esi, dword [esp + 0xe8]
jmp dword [0x444bf4]
jmp dword [0x444bfc]
push edi
call fcn.00408be0
add esp, 4
nop
nop
nop
nop
nop
push edi
call fcn.00408be0
add esp, 4
jmp dword [0x444c08]
push 0x2e0ec9bb
push dword [0x44890c]
call fcn.0043b710
add esp, 8
push dword [esp + 0x4c]
call eax
mov eax, dword [case.0x422e3e.181]
mov edi, dword [esp + 0xec]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0x40]
jmp dword [0x444c1c]
jmp dword [0x444c28]
mov eax, dword [esp + 0x94]
mov byte [edi + eax], 0
push edi
call fcn.00401f50
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x444bb4]
mov dword [esp + 0xe8], eax
push eax
call fcn.00402870
add esp, 4
mov dword [esp + 8], 0x1e190c17
mov dword [esp + 0xc], 0xb0cf608
mov dword [esp + 0x10], 0x160e1640
mov dword [esp + 0x14], 0x304fe00
mov dword [esp + 0x18], 0xf6e9ed11
mov word [esp + 0x1c], 0x6ed
mov byte [esp + 0x1e], 0x8c
mov dword [esp + 0x23], 0
mov dword [esp + 0x1f], 0
mov dword [esp + 0x50], 0
mov ecx, dword [esp + 0x50]
cmp ecx, 0x1e
ja 0x4259d8
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x50]
movzx edx, byte [esp + edx + 8]
lea esi, [ecx + edx]
add esi, 0x86d4ba6f
add ecx, 0x86d4ba6f
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x98], esi
mov ecx, dword [esp + 0x98]
add cl, 0xf7
mov edx, dword [esp + 0x50]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
cmp ecx, 0x1f
jb 0x425990
lea ecx, [esp + 8]
push ecx
push eax
call fcn.004029c0
add esp, 8
mov ecx, eax
mov esi, eax
neg esi
nop
nop
nop
nop
dec esi
cmp byte [eax], 0
lea eax, [eax + 1]
jne 0x4259f0
mov eax, esi
not eax
and esi, ecx
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x68]
not ecx
and ecx, eax
mov dword [esp + 0xf4], ecx
mov eax, ecx
sub eax, esi
mov edx, eax
and edx, 3
mov ebx, eax
or ebx, 3
imul ebx, edx
xor edx, 3
mov ecx, eax
and ecx, 0xfffffffc
imul ecx, edx
add ebx, ecx
mov ecx, dword [esp + 0x68]
shr ebx, 2
mov dword [esp + 0x6c], eax
movzx eax, byte [eax + ecx - 1]
cmp eax, 0x3d
je 0x425a4a
cmp eax, 0x2e
jne 0x425a4b
dec ebx
mov eax, dword [esp + 0x6c]
movzx eax, byte [eax + ecx - 2]
cmp eax, 0x3d
je 0x425a5e
cmp eax, 0x2e
jne 0x425a5f
dec ebx
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], ebx
lea eax, [ebx + 1]
push eax
call fcn.00408bd0
add esp, 4
mov ecx, eax
mov eax, dword [case.0x422e3e.161]
jmp eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0xf8], esi
jmp dword [0x444bcc]
push esi
call fcn.00402b00
add esp, 4
nop
nop
nop
nop
push esi
call fcn.00402b00
add esp, 4
jmp dword [0x444c40]
jmp dword [0x444c38]
push eax
call fcn.00408be0
mov eax, dword [esp + 0x44]
add esp, 4
push eax
call fcn.00408be0
mov eax, dword [esp + 0x44]
add esp, 4
jmp dword [0x444c2c]
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x444bac]
mov eax, dword [case.0x422e3e.195]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x444c54]
push edi
call fcn.00408be0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x444c64]
mov esi, dword [esp + 0x94]
lea eax, [esi + 1]
push eax
call fcn.00408bd0
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x7c]
call fcn.0043c800
add esp, 0x10
mov esi, dword [esp + 0x94]
lea eax, [esi + 1]
push eax
call fcn.00408bd0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x7c]
call fcn.0043c800
add esp, 0x10
jmp dword [0x444ba4]
jmp dword [0x444cbc]
jmp dword [0x444cc4]
push ebx
call fcn.00408be0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.00408be0
add esp, 4
jmp dword [0x444ccc]
mov eax, dword [esp + 0x78]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret