Function at 0x41ddc0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x496b78
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x408
mov eax, dword [0x4c6008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x198], esi
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x19c], 0
call fcn.0045a000
mov dword [ebp - 4], 0
mov eax, dword [esi + 0x3cde8]
cmp eax, 0x104
jg 0x421282
je 0x42121a
cmp eax, 0xfa
ja case.0x421ce6.711
movzx eax, byte [eax + 0x421fec]
jmp dword [eax*4 + 0x421fb4]
mov ecx, esi
mov dword [esi + 0xaecf6], 0x1010101
mov word [esi + 0xaecf4], 0x101
call fcn.00446670
lea ecx, [ebp - 0x250]
call fcn.0045a000
mov edi, dword [esi + 0x3cf98]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0
call fcn.0045a160
lea ecx, [ebp - 0x268]
mov dword [0x5a4e10], edi
call fcn.0045a000
mov edi, dword [esi + 0x3cf9c]
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0
call fcn.0045a160
cmp byte [esi + 0xf21c], 0
mov dword [0x5a4e14], edi
jne 0x41ded2
cmp dword [0x5a4e10], 0
je 0x41ded2
call fcn.0041dd40
push ecx
mov ecx, esi
call fcn.00416cb0
mov ecx, esi
call fcn.004031f0
mov ecx, esi
call fcn.00425a90
push 1
mov ecx, esi
call fcn.00425b90
mov al, byte [esi + 0xaeabc]
mov byte [esi + 0xf32c], al
test al, al
jne 0x41df0f
mov byte [esi + 0xf32c], al
mov byte [esi + 0xf115], al
jmp 0x41df16
mov byte [esi + 0xf115], 1
mov eax, dword [esi + 0xf2dc]
mov ecx, esi
mov dword [esi + 0xf1ec], 0
mov byte [esi + 0xf1a8], 1
mov dword [esi + 0xf1dc], eax
movups xmm0, xmmword [0x4a12e4]
push 1
movups xmmword [esi + 0xf1f4], xmm0
call fcn.0043c140
push 0xffffffffffffffff
lea ecx, [esi + 0xeea8]
mov byte [esi + 0xaed0d], 1
call fcn.0044d3e0
mov byte [0x5a7030], 0
mov dword [esi + 0x3cde8], 0x32
jmp case.0x421ce6.711
push ecx
mov ecx, esi
call fcn.00416cb0
mov ecx, esi
call fcn.00446670
push 0xffffffffffffffff
lea ecx, [esi + 0xeea8]
call fcn.0044d3e0
mov byte [0x5a7030], 1
mov dword [esi + 0x3cde8], 0x32
jmp case.0x421ce6.711
call dword [0x49a3bc]
add eax, 0x2710
mov dword [esi + 0x3cde8], 0x37
mov dword [0x5a7044], eax
jmp case.0x421ce6.711
mov eax, dword [esi + 0xec6c]
lea ecx, [esi + 0xec6c]
mov eax, dword [eax]
call eax
test al, al
je 0x41dfeb
call dword [0x49a3bc]
cmp eax, dword [0x5a7044]
jb case.0x421ce6.711
mov dword [esi + 0x3cde8], 0x3c
jmp case.0x421ce6.711
mov ecx, esi
call fcn.00443dc0
imul eax, dword [esi + 0x3cd4c], 0x9c
lea edi, [esi + 0x3cd18]
add eax, dword [edi + 0x2c]
jne 0x41e025
mov dword [esi + 0x3cde8], 0x1f4
jmp case.0x421ce6.711
mov eax, dword [eax + 0x64]
sub eax, 0
je case.0x42154c.1
sub eax, 1
je 0x41e2fa
sub eax, 2
jne case.0x42154c.1
imul ecx, dword [edi + 0x34], 0x9c
add ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 0x68]
mov edx, dword [ecx + 0x6c]
mov esi, dword [ecx + 0x70]
mov dword [ebp - 0x170], eax
mov eax, dword [ecx + 0x74]
cmp eax, 0xffffffff
jne 0x41e07f
mov byte [ebp - 0x16c], 0
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], eax
jmp 0x41e098
mov byte [ebp - 0x16c], 1
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x164], esi
mov dword [ebp - 0x160], eax
mov eax, dword [ecx + 0x78]
cmp eax, 0xffffffff
jne 0x41e0bb
mov byte [ebp - 0x15c], 0
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
jmp 0x41e0d4
mov byte [ebp - 0x15c], 1
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x154], esi
mov dword [ebp - 0x150], eax
mov eax, dword [ecx + 0x7c]
cmp eax, 0xffffffff
jne 0x41e0f7
mov byte [ebp - 0x14c], 0
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
jmp 0x41e110
mov byte [ebp - 0x14c], 1
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x144], esi
mov dword [ebp - 0x140], eax
mov eax, dword [ecx + 0x80]
cmp eax, 0xffffffff
jne 0x41e136
mov byte [ebp - 0x13c], 0
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], eax
jmp 0x41e14f
mov byte [ebp - 0x13c], 1
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x130], eax
mov eax, dword [ecx + 0x84]
cmp eax, 0xffffffff
jne 0x41e175
mov byte [ebp - 0x12c], 0
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
jmp 0x41e18e
mov byte [ebp - 0x12c], 1
mov dword [ebp - 0x128], edx
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x120], eax
mov eax, dword [ecx + 0x88]
cmp eax, 0xffffffff
jne 0x41e1b4
mov byte [ebp - 0x11c], 0
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
jmp 0x41e1cd
mov byte [ebp - 0x11c], 1
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x110], eax
mov eax, dword [ecx + 0x8c]
cmp eax, 0xffffffff
jne 0x41e1f3
mov byte [ebp - 0x10c], 0
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
jmp 0x41e20c
mov byte [ebp - 0x10c], 1
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x100], eax
mov eax, dword [ecx + 0x90]
cmp eax, 0xffffffff
jne 0x41e232
mov byte [ebp - 0xfc], 0
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
jmp 0x41e24b
mov byte [ebp - 0xfc], 1
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0xf0], eax
mov eax, dword [ecx + 0x94]
cmp eax, 0xffffffff
jne 0x41e271
mov byte [ebp - 0xec], 0
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
jmp 0x41e28a
mov byte [ebp - 0xec], 1
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xe0], eax
mov eax, dword [ecx + 0x98]
cmp eax, 0xffffffff
jne 0x41e2b0
mov byte [ebp - 0xdc], 0
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
jmp 0x41e2c9
mov byte [ebp - 0xdc], 1
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x198]
lea esi, [ebp - 0x170]
mov ecx, 0x29
mov edi, 0x5a4fe0
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 0x3cde8], 0
mov dword [eax + 0x3cdd4], 6
jmp case.0x421ce6.711
mov ecx, edi
mov dword [esi + 0x3cd20], 0
call fcn.004328d0
mov dword [ebp - 0x178], eax
test eax, eax
je case.0x421ce6.711
imul edx, dword [edi + 0x34], 0x9c
push dword [ebp - 0x178]
add edx, dword [edi + 0x2c]
mov ecx, dword [edx + 0x6c]
mov dword [esi + 0xaec14], ecx
mov ecx, esi
mov eax, dword [edx + 0x70]
mov dword [esi + 0xaec18], eax
mov eax, dword [edx + 0x68]
mov dword [esi + 0xaeca8], eax
mov dword [esi + 0xaec10], 0
call fcn.00422a90
cmp byte [0x5a7030], 0
mov byte [esi + 0xf1a8], 1
je 0x41e385
cmp byte [esi + 0xaea89], 0
je 0x41e37e
cmp byte [esi + 0xaebe4], 0
jne 0x41e37e
mov byte [esi + 0xaecc3], 1
mov byte [0x5a7030], 0
mov dword [esi + 0xaecac], 0
lea eax, [esi + 0xaec1c]
mov dword [ebp - 0x19c], eax
mov edx, 0xaec30
mov dword [eax], 0xffffffff
xor eax, eax
mov dword [esi + 0xaec20], 0xffffffff
mov dword [esi + 0xaec24], 0xffffffff
mov dword [esi + 0xaec28], 0xffffffff
mov dword [esi + 0xaec2c], 0xffffffff
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
nop dword [eax]
imul ecx, dword [edi + 0x34], 0x27
add ecx, eax
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + ecx*4 + 0x74]
mov ecx, dword [ebp - 0x19c]
mov dword [ecx], eax
cmp eax, 0xffffffff
je 0x41e46a
inc dword [esi + 0xaecac]
lea eax, [esi + edx]
mov ecx, eax
mov dword [ebp - 0x178], eax
call fcn.0045a200
mov ecx, edi
call fcn.004328d0
test eax, eax
je 0x41e43b
push dword [eax + 0x10]
mov ecx, edi
call fcn.004328f0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0045a080
mov ecx, dword [ebp - 0x178]
call fcn.0045a3a0
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x198]
add edx, 0x18
add dword [ebp - 0x19c], 4
inc eax
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
cmp edx, 0xaeca8
jl 0x41e3e0
cmp dword [esi + 0xaeca8], 0
je 0x41e479
dec dword [esi + 0xaecac]
push 0
mov ecx, esi
call fcn.00425b90
mov dword [esi + 0x3cdd4], 5
mov dword [esi + 0x3cde8], 0
jmp case.0x421ce6.711
mov eax, dword [esi + 0x3ce58]
mov dword [esi + 0x13928], eax
mov byte [esi + 0xaed0d], 0
mov dword [esi + 0x1392c], 0xffffffff
mov eax, dword [esi + 0x3ce5c]
mov dword [esi + 0x13930], eax
mov eax, dword [esi + 0x3ce60]
mov dword [esi + 0x13934], eax
mov eax, dword [esi + 0x3ce64]
mov dword [esi + 0x13938], eax
xor al, al
mov dword [esi + 0x1393c], 0xffffffff
mov dword [esi + 0x13940], 0xffffffff
mov dword [esi + 0x13944], 0xffffffff
mov byte [ebp - 0x174], al
mov byte [ebp - 0x17e], al
mov byte [ebp - 0x171], al
mov byte [ebp - 0x17d], al
lea edx, [esi + 0x3cd18]
nop word [eax + eax]
xor al, al
mov byte [ebp - 0x173], al
mov byte [ebp - 0x172], al
mov eax, dword [edx + 8]
cmp eax, dword [edx + 4]
je 0x4202b8
mov edi, eax
lea eax, [eax + 1]
shl edi, 5
add edi, dword [edx]
mov dword [ebp - 0x194], edi
mov dword [edx + 8], eax
je 0x4202b8
mov ecx, dword [edi]
lea eax, [ecx - 1]
cmp eax, 0x29
ja case.0x41e561.16
jmp dword [eax*4 + 0x4220e8]
cmp byte [esi + 0xaebe2], 0
je 0x41e5c5
mov ecx, dword [edx + 8]
mov eax, dword [edx]
shl ecx, 5
add ecx, 0xffffffe0
add eax, ecx
mov ecx, esi
push eax
call fcn.00422a90
cmp byte [esi + 0xf19c], 0
jne case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
je 0x41e5a1
call fcn.0041da10
mov cl, byte [ebp - 0x173]
mov ch, 1
mov byte [esi + 0xf1a8], 1
mov byte [ebp - 0x171], ch
mov dword [esi + 0x3cde8], 0x78
jmp 0x41f393
mov cl, byte [ebp - 0x173]
mov ch, 1
mov byte [ebp - 0x171], ch
mov dword [esi + 0x3cde8], 0x6e
jmp 0x41f393
mov eax, dword [edi + 0x1c]
mov byte [ebp - 0x173], 1
test eax, eax
js 0x41e65d
cmp eax, 0x1f40
jge 0x41e65d
cmp byte [esi + 0xaebe5], 0
jne 0x41e620
sub esp, 0xc
mov ecx, esp
push 1
call fcn.0045b620
mov eax, dword [edi + 0x1c]
lea eax, [eax + eax*2]
lea eax, [eax + 0xf79f]
lea ecx, [esi + eax*4]
call fcn.0045b640
mov ecx, dword [edi + 0x1c]
mov eax, ecx
shl eax, 5
mov eax, dword [eax + esi + 0x6b68c]
dec eax
cmp eax, 8
ja case.0x41e639.3
jmp dword [eax*4 + 0x422190]
mov dword [esi + 0x1392c], ecx
jmp case.0x41e639.3
push 0
push dword [edi + 0xc]
push ecx
mov ecx, esi
call fcn.00422740
jmp case.0x41e639.3
push 0x4b2c40
mov ecx, esi
call fcn.00441990
jmp case.0x41e639.3
mov edx, dword [edi + 0x1c]
mov cl, 1
mov byte [ebp - 0x173], cl
test edx, edx
js 0x41e65d
cmp edx, 0x1f40
jge 0x41e65d
mov eax, edx
shl eax, 5
mov eax, dword [eax + esi + 0x6b68c]
dec eax
cmp eax, 8
ja case.0x41e6a2.3
movzx eax, byte [eax + 0x4221c0]
jmp dword [eax*4 + 0x4221b4]
mov dword [esi + 0x3ce58], 0xffffffff
cmp byte [esi + 0xaecc4], 0
jne 0x41e6b3
jmp case.0x41e6a2.3
xor ecx, ecx
lea eax, [esi + 0x3ce5c]
nop dword [eax]
cmp dword [eax], edx
je 0x41e6dd
inc ecx
add eax, 4
cmp ecx, 3
jl 0x41e6d0
cmp ecx, 3
jne 0x41e70e
xor ecx, ecx
lea edx, [esi + 0x3ce68]
nop word [eax + eax]
cmp dword [edx - 0xc], 0xffffffff
je 0x41e6fd
mov eax, dword [edx]
cmp eax, dword [edi + 0xc]
je 0x41e70b
inc ecx
add edx, 4
cmp ecx, 3
jl 0x41e6f0
jmp case.0x41e639.3
cmp ecx, 3
jge case.0x41e639.3
push ecx
mov ecx, esi
call fcn.004229e0
jmp case.0x41e639.3
mov al, 1
lea ecx, [esi + 0x3ce68]
mov byte [ebp - 0x173], al
xor edx, edx
cmp dword [ecx - 0xc], 0xffffffff
je 0x41e73e
mov eax, dword [edi + 0xc]
cmp eax, dword [ecx]
je 0x41e747
inc edx
add ecx, 4
cmp edx, 3
jl 0x41e731
mov dword [ebp - 0x178], edx
cmp edx, 3
jne 0x41e763
push 0x4b2c5c
mov ecx, esi
call fcn.00441990
jmp case.0x41e639.3
mov ecx, edx
shl ecx, 7
add ecx, esi
mov dword [ebp - 0x190], ecx
mov eax, dword [ecx + 0xef68]
cmp eax, 0xffffffff
je 0x41e781
mov dword [ecx + 0xef58], eax
mov eax, dword [edi + 0x10]
add edx, 0xf397
mov dword [ecx + 0xef68], eax
mov eax, dword [edi + 0x1c]
cmp dword [esi + edx*4], eax
lea edx, [esi + edx*4]
mov dword [ebp - 0x188], edx
mov edx, 0xffffffff
cmove eax, edx
mov dword [ecx + 0xef64], eax
mov eax, dword [esi + 0xf2dc]
mov dword [ecx + 0xef5c], eax
mov ecx, esi
mov edi, dword [esi + 0xf2dc]
call fcn.0041dbe0
mov ecx, dword [ebp - 0x190]
add eax, edi
mov dword [ecx + 0xef60], eax
lea ecx, [ebp - 0x280]
call fcn.0045a000
mov edi, dword [esi + 0x3cf84]
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0
call fcn.0045a160
mov eax, dword [ebp - 0x190]
mov dword [eax + 0xef74], edi
mov eax, dword [ebp - 0x194]
mov edx, dword [eax + 0x1c]
cmp edx, 0xffffffff
je 0x41e816
mov ecx, dword [ebp - 0x188]
mov dword [ecx], edx
mov ecx, dword [ebp - 0x178]
mov eax, dword [eax + 0x10]
mov dword [esi + ecx*4 + 0x3ce68], eax
jmp case.0x41e639.3
mov ecx, dword [edi + 0x1c]
test ecx, ecx
js 0x41e65d
cmp ecx, 0x1f40
jge 0x41e65d
cmp byte [esi + 0xaebe2], 0
je 0x41e859
mov eax, dword [edi + 0x10]
mov dword [esi + 0x1392c], eax
jmp case.0x41e639.3
mov eax, ecx
shl eax, 5
cmp dword [eax + esi + 0x6b68c], 6
je 0x41e879
push str.SCRIPT:
mov ecx, esi
call fcn.00441990
jmp case.0x41e639.3
push dword [edi + 0x10]
push ecx
mov ecx, esi
call fcn.00426010
jmp case.0x41e639.3
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3ceb4], eax
cmp dword [edi + 0x1c], 0xffffffff
mov byte [ebp - 0x173], 1
je 0x41e8b0
push eax
mov ecx, esi
call fcn.0041a810
jmp case.0x41e639.3
cmp byte [esi + 0xaecc4], 0
jne 0x41e8b0
lea ecx, [esi + 0x5fd4]
call fcn.00448130
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
mov cl, 1
mov byte [ebp - 0x173], cl
je 0x41e8e8
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3ce9c], eax
jmp case.0x41e6a2.3
push dword [edi + 0x1c]
mov ecx, esi
call fcn.00436f00
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
mov cl, 1
mov byte [ebp - 0x173], cl
je 0x41e916
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3ce9c], eax
jmp case.0x41e6a2.3
push dword [edi + 0x1c]
mov ecx, esi
call fcn.00436990
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
mov cl, 1
mov byte [ebp - 0x173], cl
je 0x41e945
mov dword [esi + 0x3ce9c], 0xffffffff
jmp case.0x41e6a2.3
push 0xffffffffffffffff
mov ecx, esi
call fcn.00436f00
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
mov cl, 1
mov byte [ebp - 0x173], cl
je 0x41e973
mov dword [esi + 0x3ce9c], 0xffffffff
jmp case.0x41e6a2.3
push 0xffffffffffffffff
mov ecx, esi
call fcn.00436990
jmp case.0x41e639.3
cmp byte [ebp - 0x17d], 0
mov cl, 1
mov byte [ebp - 0x173], cl
jne 0x41e9ab
cmp byte [esi + 0xaebe2], 0
jne 0x41e9ab
push dword [edi + 0x1c]
mov ecx, esi
call fcn.00436fd0
mov cl, byte [ebp - 0x173]
mov byte [ebp - 0x17d], 1
jmp case.0x41e6a2.3
cmp byte [esi + 0xaebe2], 0
mov cl, 1
mov byte [ebp - 0x173], cl
je 0x41e9dc
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3ceac], eax
mov byte [ebp - 0x17d], cl
jmp case.0x41e6a2.3
cmp byte [ebp - 0x17d], 0
jne 0x41e9ab
push dword [edi + 0x1c]
mov ecx, esi
call fcn.004372d0
mov byte [ebp - 0x17d], 1
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
mov cl, 1
mov byte [ebp - 0x173], cl
je 0x41ea1b
mov dword [esi + 0x3ceac], 0xffffffff
jmp case.0x41e6a2.3
mov ecx, esi
call fcn.00437450
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
mov cl, 1
mov byte [ebp - 0x173], cl
je 0x41ea46
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3ceb0], eax
jmp case.0x41e6a2.3
push ecx
push dword [edi + 0x1c]
mov ecx, esi
call fcn.00437590
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
jne case.0x41e639.3
mov eax, dword [edi + 0x1c]
cmp eax, 0x16
ja case.0x41e639.3
movzx eax, byte [eax + 0x4221fc]
jmp dword [eax*4 + 0x4221cc]
push 1
mov ecx, esi
call fcn.00413d50
jmp case.0x41e639.3
mov ecx, esi
call fcn.00413e80
mov byte [ebp - 0x174], 1
jmp case.0x41e639.3
mov ecx, esi
call fcn.004127e0
mov byte [ebp - 0x174], 1
jmp case.0x41e639.3
push 0x80000000
push 1
mov ecx, esi
call fcn.004132a0
jmp case.0x41e639.3
push ecx
mov ecx, esi
call fcn.004140e0
mov byte [ebp - 0x174], 1
jmp case.0x41e639.3
push 0
mov ecx, esi
call fcn.00413d50
jmp case.0x41e639.3
mov ecx, esi
call fcn.004122b0
jmp case.0x41e639.3
mov ecx, esi
call fcn.004136f0
jmp case.0x41e639.3
mov ecx, esi
call fcn.00414fc0
mov byte [ebp - 0x174], 1
jmp case.0x41e639.3
mov ecx, esi
call fcn.004151b0
mov byte [ebp - 0x174], 1
jmp case.0x41e639.3
mov ecx, esi
call fcn.00415320
mov byte [ebp - 0x174], 1
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
je 0x41eb4e
mov eax, dword [edi + 0x14]
mov dword [esi + 0x1392c], eax
jmp case.0x41e639.3
mov ecx, dword [edi + 0x1c]
mov byte [ebp - 0x174], 1
cmp ecx, 0x1d
ja case.0x41eb68.8
movzx eax, byte [ecx + 0x422240]
jmp dword [eax*4 + 0x422214]
push dword [edi + 0x14]
mov ecx, esi
call fcn.00412ce0
jmp case.0x41e639.3
push dword [edi + 0x14]
mov ecx, esi
push 2
call fcn.004132a0
jmp case.0x41e639.3
push dword [edi + 0x14]
mov ecx, esi
push 1
call fcn.004132a0
jmp case.0x41e639.3
push dword [edi + 0x14]
mov ecx, esi
push 0
call fcn.00413a60
jmp case.0x41e639.3
push dword [edi + 0x14]
mov ecx, esi
push 1
call fcn.00413a60
jmp case.0x41e639.3
push dword [edi + 0x14]
mov ecx, esi
push 2
call fcn.00413a60
jmp case.0x41e639.3
push dword [edi + 0x14]
mov ecx, esi
push 3
call fcn.00413a60
jmp case.0x41e639.3
push dword [edi + 0x14]
lea eax, [ecx - 0xa]
mov ecx, esi
push eax
call fcn.00415710
jmp case.0x41e639.3
push dword [edi + 0x14]
lea eax, [ecx - 0x14]
mov ecx, esi
push eax
call fcn.00415540
jmp case.0x41e639.3
push dword [edi + 0x14]
push ecx
sub esp, 0x18
mov ecx, esp
push 0x4b2cb8
call fcn.0045a080
lea eax, [ebp - 0x1b4]
push eax
call fcn.0045b140
add esp, 0x24
lea ecx, [ebp - 0x1b4]
call fcn.0045a620
push eax
mov ecx, esi
call fcn.00441990
mov byte [ebp - 0x174], 0
jmp case.0x41e639.3
mov eax, dword [edi + 0x1c]
add eax, 0xfffffff6
cmp eax, 0x82
ja case.0x41e639.3
movzx eax, byte [eax + 0x422334]
jmp dword [eax*4 + 0x422260]
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x184], ecx
call fcn.0045b9c0
movzx edx, ax
mov dword [ebp - 0x18c], edx
test ecx, ecx
jle 0x41ec90
mov eax, edx
cdq
idiv ecx
mov dword [ebp - 0x18c], edx
mov dword [esi + 0x3ced4], edx
jmp case.0x41e639.3
mov eax, dword [edi + 0x14]
sub eax, 0
je 0x41ecd2
sub eax, 1
je 0x41ecbf
sub eax, 1
jne 0x41ecdb
mov ecx, esi
mov byte [esi + 0xaebe0], al
call fcn.00443dc0
jmp case.0x41e639.3
mov ecx, esi
mov byte [esi + 0xaebe1], 0
call fcn.00443dc0
jmp case.0x41e639.3
mov word [esi + 0xaebe0], 0
mov ecx, esi
call fcn.00443dc0
jmp case.0x41e639.3
mov edx, dword [edi + 0x14]
xor ecx, ecx
cmp byte [esi + 0xaebe0], cl
mov eax, 2
mov dword [ebp - 0x184], edx
cmovne ecx, eax
xor eax, eax
cmp byte [esi + 0xaebe1], al
setne al
or ecx, eax
mov dword [ebp - 0x18c], ecx
cmp edx, 0x3e7
ja case.0x41e639.3
push ecx
push edx
mov ecx, esi
call fcn.00422550
jmp case.0x41e639.3
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x184], eax
cmp eax, 0x3e7
ja case.0x41e639.3
push eax
mov ecx, esi
call fcn.00422650
mov cl, al
mov dword [ebp - 0x18c], eax
and cl, 1
shr eax, 1
mov byte [esi + 0xaebe1], cl
and al, 1
mov ecx, esi
mov byte [esi + 0xaebe0], al
call fcn.00443dc0
jmp case.0x41e639.3
push dword [edi + 0x14]
mov ecx, esi
call fcn.0043b220
jmp case.0x41e639.3
mov ecx, esi
call fcn.0043b2c0
jmp case.0x41e639.3
xor edi, edi
nop dword [eax]
push edi
mov ecx, esi
call fcn.004229e0
inc edi
cmp edi, 3
jl 0x41ed90
jmp case.0x41e639.3
mov ecx, esi
call fcn.00437570
jmp case.0x41e639.3
mov ecx, esi
call fcn.00437680
jmp case.0x41e639.3
xor edx, edx
lea ecx, [esi + 0x3ce68]
cmp dword [ecx - 0xc], 0xffffffff
je 0x41edd0
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x41edd9
inc edx
add ecx, 4
cmp edx, 3
jl 0x41edc3
cmp edx, 3
jne 0x41edef
push 0x4b2ce4
mov ecx, esi
call fcn.00441990
jmp case.0x41e639.3
mov eax, edx
shl eax, 7
mov byte [eax + esi + 0xef6c], 1
mov dword [esi + edx*4 + 0x3ce8c], 1
jmp case.0x41e639.3
xor edx, edx
lea ecx, [esi + 0x3ce68]
cmp dword [ecx - 0xc], 0xffffffff
je 0x41ee21
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x41ee2a
inc edx
add ecx, 4
cmp edx, 3
jl 0x41ee14
cmp edx, 3
jne 0x41ee40
push 0x4b2d1c
mov ecx, esi
call fcn.00441990
jmp case.0x41e639.3
mov eax, edx
shl eax, 7
mov byte [eax + esi + 0xef6c], 0
mov dword [esi + edx*4 + 0x3ce8c], 0
jmp case.0x41e639.3
xor edx, edx
lea ecx, [esi + 0x3ce68]
cmp dword [ecx - 0xc], 0xffffffff
je 0x41ee72
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x41ee7b
inc edx
add ecx, 4
cmp edx, 3
jl 0x41ee65
cmp edx, 3
jne 0x41ee91
push 0x4b2d54
mov ecx, esi
call fcn.00441990
jmp case.0x41e639.3
shl edx, 7
mov ecx, 0x14
mov dword [edx + esi + 0xef70], 1
mov edi, dword [esi + 0xf2dc]
mov dword [edx + esi + 0xef5c], edi
mov dword [ebp - 0x188], edx
call fcn.0041dcc0
mov ecx, dword [ebp - 0x188]
add eax, edi
mov dword [ecx + esi + 0xef60], eax
jmp case.0x41e639.3
xor edx, edx
lea ecx, [esi + 0x3ce68]
cmp dword [ecx - 0xc], 0xffffffff
je 0x41eee5
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x41eeee
inc edx
add ecx, 4
cmp edx, 3
jl 0x41eed8
cmp edx, 3
jne 0x41ef04
push 0x4b2d8c
mov ecx, esi
call fcn.00441990
jmp case.0x41e639.3
shl edx, 7
mov ecx, 0x1e
mov dword [edx + esi + 0xef70], 2
jmp 0x41eea4
xor edx, edx
lea ecx, [esi + 0x3ce68]
cmp dword [ecx - 0xc], 0xffffffff
je 0x41ef2e
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x41ef37
inc edx
add ecx, 4
cmp edx, 3
jl 0x41ef21
cmp edx, 3
jne 0x41ef4d
push 0x4b2dc8
mov ecx, esi
call fcn.00441990
jmp case.0x41e639.3
shl edx, 7
mov dword [edx + esi + 0xef70], 6
mov eax, dword [esi + 0xf2dc]
mov dword [edx + esi + 0xef5c], eax
add eax, 0x3c
mov dword [edx + esi + 0xef60], eax
jmp case.0x41e639.3
xor edx, edx
lea ecx, [esi + 0x3ce68]
nop
cmp dword [ecx - 0xc], 0xffffffff
je 0x41ef8d
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x41ef96
inc edx
add ecx, 4
cmp edx, 3
jl 0x41ef80
cmp edx, 3
jne 0x41efac
push 0x4b2c5c
mov ecx, esi
call fcn.00441990
jmp case.0x41e639.3
mov ecx, edx
shl ecx, 7
push 0
push 0x18
push str.kiaiyuge.kg
mov byte [ecx + esi + 0xef6d], 1
mov eax, dword [esi + 0xf2dc]
mov dword [ecx + esi + 0xef78], eax
mov dword [ecx + esi + 0xef7c], 0x3c
mov ecx, esi
mov dword [esi + edx*4 + 0x3ce8c], 2
call fcn.0041a590
push 0
push 0xc
push str.kiaiyuge_mask.kg
mov ecx, esi
call fcn.0041a590
jmp case.0x41e639.3
xor edx, edx
lea ecx, [esi + 0x3ce68]
nop dword [eax]
cmp dword [ecx - 0xc], 0xffffffff
je 0x41f01d
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x41f026
inc edx
add ecx, 4
cmp edx, 3
jl 0x41f010
cmp edx, 3
jne 0x41f03c
push 0x4b2c5c
mov ecx, esi
call fcn.00441990
jmp case.0x41e639.3
mov eax, edx
shl eax, 7
add eax, 0xef6d
add eax, esi
cmp byte [eax], 0
jne 0x41f05e
push 0x4b2e00
mov ecx, esi
call fcn.00441990
jmp case.0x41e639.3
mov byte [eax], 0
mov dword [esi + edx*4 + 0x3ce8c], 0
nop dword [eax]
cmp byte [esi + 0xaecc4], 0
jne 0x41f070
lea ecx, [esi + 0x52b4]
call fcn.00448130
lea ecx, [esi + 0x3334]
call fcn.00448130
jmp case.0x41e639.3
push 0
mov ecx, esi
call fcn.00423500
jmp case.0x41e639.3
mov ecx, esi
call fcn.00423670
jmp case.0x41e639.3
push dword [edi + 0x14]
mov ecx, esi
call fcn.00412930
jmp case.0x41e639.3
mov ecx, esi
call fcn.00412b20
lea ecx, [ebp - 0x298]
call fcn.0045a000
lea ecx, [ebp - 0x298]
mov dword [esi + 0x3cf98], 0
mov byte [ebp - 4], 0
call fcn.0045a160
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
jne case.0x41e639.3
mov edx, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
call fcn.004083f0
call fcn.00408d50
mov dword [esi + 0x3cde8], 0x4b0
jmp case.0x41e639.3
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], 3
test eax, eax
js case.0x41e639.3
cmp eax, 3
jge case.0x41e639.3
push dword [ebp + eax*4 - 0x20]
mov ecx, esi
call fcn.00415c70
jmp case.0x41e639.3
mov ecx, esi
call fcn.00412b20
lea ecx, [ebp - 0x2b0]
call fcn.0045a000
lea ecx, [ebp - 0x2b0]
mov dword [esi + 0x3cf98], 0
mov byte [ebp - 4], 0
call fcn.0045a160
jmp case.0x41e639.3
push dword [edi + 0x14]
mov ecx, esi
call fcn.00412f50
jmp case.0x41e639.3
mov ecx, esi
call fcn.00425a90
mov byte [esi + 0xaecf4], 0
mov byte [esi + 0xf32c], 0
mov byte [esi + 0xf115], 0
mov cl, 1
jmp case.0x41e6a2.3
mov ecx, esi
call fcn.00425a90
cmp byte [esi + 0xaeabc], 0
mov byte [esi + 0xaecf4], 1
jne 0x41f1e0
mov byte [esi + 0xf32c], 0
mov cl, 1
mov byte [esi + 0xf115], 0
jmp case.0x41e6a2.3
mov byte [esi + 0xf32c], 1
mov cl, 1
mov byte [esi + 0xf115], 1
jmp case.0x41e6a2.3
mov eax, dword [edi + 0x14]
mov dword [esi + 0x3ceb8], eax
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
je 0x41f24d
push dword [edi + 0x14]
call fcn.0043cce0
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
mov dword [ebp - 0x188], ecx
mov ecx, esi
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
push edi
call fcn.0043cc20
mov ecx, dword [ebp - 0x188]
imul eax, edi, 0x64
sub ecx, eax
push ecx
mov ecx, esi
call fcn.0043cc80
jmp case.0x41e639.3
mov ecx, esi
call fcn.0043cac0
mov ecx, esi
imul edi, eax, 0x64
call fcn.0043cb10
add eax, edi
push eax
mov eax, dword [ebp - 0x194]
push dword [eax + 0x14]
call fcn.0040a3d0
push 0xf
mov ecx, esi
call fcn.0041cde0
jmp case.0x41e639.3
mov ecx, esi
call fcn.0043cac0
mov ecx, esi
imul edi, eax, 0x64
call fcn.0043cb10
lea ecx, [edi + eax]
mov eax, dword [ebp - 0x194]
mov eax, dword [eax + 0x14]
add eax, ecx
cmp byte [esi + 0xaebe2], 0
je 0x41f2e4
push eax
call fcn.0043cce0
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
mov dword [ebp - 0x188], ecx
mov ecx, esi
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
push edi
call fcn.0043cc20
mov ecx, dword [ebp - 0x188]
imul eax, edi, 0x64
sub ecx, eax
push ecx
mov ecx, esi
call fcn.0043cc20
jmp case.0x41e639.3
push ecx
push eax
call fcn.0040a3d0
push 0xf
mov ecx, esi
call fcn.0041cde0
jmp case.0x41e639.3
push dword [edi + 0x14]
mov ecx, esi
call fcn.0043cd90
jmp case.0x41e639.3
push dword [edi + 0x14]
mov ecx, esi
call fcn.0043ceb0
jmp case.0x41e639.3
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x188], eax
test eax, eax
js 0x41f3c6
cmp eax, 2
jge 0x41f3c6
lea ecx, [ebp - 0x2c8]
call fcn.0045a000
mov eax, dword [ebp - 0x188]
lea ecx, [ebp - 0x2c8]
mov dword [esi + 0x3cf40], eax
mov byte [ebp - 4], 0
call fcn.0045a160
lea ecx, [ebp - 0x2e0]
call fcn.0045a000
mov edi, dword [esi + 0x3cf34]
lea ecx, [ebp - 0x2e0]
mov byte [ebp - 4], 0
call fcn.0045a160
test edi, edi
mov ecx, esi
setne al
movzx eax, al
push eax
call fcn.0043c140
mov cl, byte [ebp - 0x173]
mov ch, byte [ebp - 0x171]
mov dl, byte [ebp - 0x172]
mov al, byte [esi + 0xaebe2]
test al, al
je 0x41f3ab
test dl, dl
jne 0x4202d1
lea edx, [esi + 0x3cd18]
test cl, cl
jne 0x41e520
test al, al
je 0x4202d1
jmp 0x41e514
lea ecx, [ebp - 0x1cc]
call fcn.0045a000
mov byte [ebp - 4], 6
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4b2e2c
call fcn.0045a080
lea eax, [ebp - 0x1cc]
push eax
call fcn.0045b140
add esp, 0x20
lea ecx, [ebp - 0x1cc]
call fcn.0045a620
push eax
mov ecx, esi
call fcn.00441990
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 4], 0
call fcn.0045a160
jmp case.0x41e639.3
cmp byte [0x4dcf63], 0
mov cl, byte [ebp - 0x173]
mov ch, byte [ebp - 0x171]
mov dl, byte [ebp - 0x172]
jne 0x41f399
mov eax, dword [esi + 0xf2dc]
add eax, 0x3c
mov dword [esi + 0xf1f0], 1
mov byte [0x4dcf63], 1
mov dword [0x5a50e4], eax
jmp 0x41f399
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x188], eax
test eax, eax
js 0x41f4af
cmp eax, 2
jge 0x41f4af
lea ecx, [ebp - 0x2f8]
call fcn.0045a000
mov eax, dword [ebp - 0x188]
lea ecx, [ebp - 0x2f8]
mov dword [esi + 0x3cf44], eax
mov byte [ebp - 4], 0
call fcn.0045a160
cmp dword [edi + 0x14], 1
mov ecx, esi
sete al
movzx eax, al
push eax
call fcn.004032f0
jmp case.0x41e639.3
lea ecx, [ebp - 0x1e4]
call fcn.0045a000
mov byte [ebp - 4], 9
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4b2e60
call fcn.0045a080
lea eax, [ebp - 0x1e4]
push eax
call fcn.0045b140
add esp, 0x20
lea ecx, [ebp - 0x1e4]
call fcn.0045a620
push eax
mov ecx, esi
call fcn.00441990
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0
call fcn.0045a160
jmp case.0x41e639.3
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 0
push 0
call fcn.004142c0
jmp case.0x41e639.3
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 0
push 1
call fcn.004142c0
jmp case.0x41e639.3
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 0
push 2
call fcn.004142c0
jmp case.0x41e639.3
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 0
push 3
call fcn.004142c0
jmp case.0x41e639.3
mov edi, dword [edi + 0x14]
mov dword [ebp - 0x178], edi
test edi, edi
js 0x41f60b
cmp edi, 0x3e5
jge 0x41f60b
mov ecx, esi
cmp edi, 0x64
jge 0x41f589
call fcn.00446410
jmp 0x41f5df
push edi
call fcn.00422650
lea ecx, [edi + 1]
mov dword [ebp - 0x190], eax
push ecx
mov ecx, esi
call fcn.00422650
lea ecx, [edi + 2]
mov dword [ebp - 0x188], eax
push ecx
mov ecx, esi
call fcn.00422650
mov ecx, dword [ebp - 0x178]
mov edi, eax
add ecx, 3
push ecx
mov ecx, esi
call fcn.00422650
push eax
push edi
push dword [ebp - 0x188]
mov ecx, esi
push dword [ebp - 0x190]
call fcn.00446450
mov edi, dword [ebp - 0x178]
lea ecx, [ebp - 0x310]
call fcn.0045a000
lea ecx, [ebp - 0x310]
mov dword [esi + 0x3cf50], edi
mov byte [ebp - 4], 0
call fcn.0045a160
mov byte [ebp - 0x17e], 1
jmp case.0x41e639.3
push 0x4b2e80
mov ecx, esi
call fcn.00441990
jmp case.0x41e639.3
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x178], eax
test eax, eax
js 0x41f60b
cmp eax, 0x3e5
jge 0x41f60b
mov eax, dword [edi + 0x10]
xor ecx, ecx
test eax, eax
mov edi, dword [ebp - 0x178]
cmovs eax, ecx
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, 0x10624dd3
shl ecx, 2
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x188], eax
cmp edi, 0x64
jge 0x41f68a
mov edi, dword [esi + 0xae804]
xor ecx, ecx
mov dword [ebp - 0x194], edi
xor edx, edx
mov edi, dword [esi + 0xae808]
mov dword [ebp - 0x190], edi
mov edi, dword [ebp - 0x178]
jmp 0x41f6dd
push edi
mov ecx, esi
call fcn.00422650
lea ecx, [edi + 1]
mov dword [ebp - 0x178], eax
push ecx
mov ecx, esi
call fcn.00422650
lea ecx, [edi + 2]
mov dword [ebp - 0x17c], eax
push ecx
mov ecx, esi
call fcn.00422650
lea ecx, [edi + 3]
mov dword [ebp - 0x194], eax
push ecx
mov ecx, esi
call fcn.00422650
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x188]
push eax
push dword [ebp - 0x190]
push dword [ebp - 0x194]
push edx
push ecx
mov ecx, esi
call fcn.004464b0
lea ecx, [ebp - 0x328]
call fcn.0045a000
lea ecx, [ebp - 0x328]
mov dword [esi + 0x3cf50], edi
mov byte [ebp - 4], 0
call fcn.0045a160
mov byte [ebp - 0x17e], 1
jmp case.0x41e639.3
sub esp, 0xc
mov ecx, esp
push 1
call fcn.0045b620
mov eax, dword [edi + 0x14]
lea eax, [eax + eax*2]
add eax, 0x1555f
lea ecx, [esi + eax*4]
call fcn.0045b640
jmp case.0x41e639.3
cmp byte [esi + 0xaebe3], 0
je case.0x41e561.38
mov ecx, esi
call fcn.00425a90
cmp byte [esi + 0xaeabc], 0
mov byte [esi + 0xaecf4], 1
jne 0x41f777
mov byte [esi + 0xf115], 0
mov byte [esi + 0xf32c], 0
jmp 0x41f785
mov byte [esi + 0xf115], 1
mov byte [esi + 0xf32c], 1
mov al, 1
mov dword [esi + 0x3cde8], 0
lea ecx, [esi + 0xf2fc]
mov byte [ebp - 0x171], al
call fcn.00406170
mov ecx, esi
call fcn.0041ce60
cmp byte [esi + 0xaebe2], 0
mov byte [esi + 0xaed0d], 1
mov word [esi + 0xaebe3], 0
mov byte [esi + 0xaebe5], 0
mov word [esi + 0xaebe0], 0
je 0x41f7d7
call fcn.0041da10
mov cl, byte [ebp - 0x173]
mov dl, 1
mov ch, dl
jmp 0x41f399
mov ecx, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
mov dword [esi + ecx*4 + 0xaebe8], eax
jmp case.0x41e639.3
cmp byte [esi + 0xaebe3], 0
je case.0x41e639.3
mov dword [esi + 0xaebe3], 0x1000000
nop
cmp byte [esi + 0xaecc4], 0
jne 0x41f810
lea ecx, [esi + 0xf2fc]
call fcn.00406170
mov ecx, esi
call fcn.004031f0
jmp case.0x41e639.3
xor ecx, ecx
mov dword [ebp - 0x178], 6
lea edi, [esi + 0x5557c]
mov esi, ecx
nop dword [eax]
nop dword [eax + eax]
push 1
lea ecx, [ebp - 0x22c]
call fcn.0045b620
mov ecx, eax
call fcn.0045b5f0
sub esp, 0xc
mov ecx, esp
push eax
call fcn.0045b620
mov ecx, edi
call fcn.0045b670
test al, al
je 0x41f87b
inc esi
add edi, 0xc
sub dword [ebp - 0x178], 1
jne 0x41f850
xor eax, eax
mov dword [ebp - 0x194], esi
mov esi, dword [ebp - 0x198]
lea ecx, [ebp - 0x3ac]
cmp dword [ebp - 0x194], 6
sete al
mov dword [ebp - 0x17c], eax
mov dword [esi + 0x3ced4], eax
call fcn.0045a000
mov eax, dword [ebp - 0x17c]
sub esp, 0xc
mov ecx, esp
mov dword [esi + 0x3cee0], eax
push eax
call fcn.0045b620
lea ecx, [esi + 0x6712c]
call fcn.0045b640
lea ecx, [ebp - 0x3ac]
mov byte [ebp - 4], 0
call fcn.0045a160
mov cl, 1
jmp case.0x41e6a2.3
xor ecx, ecx
mov dword [ebp - 0x178], 6
lea edi, [esi + 0x5557c]
mov esi, ecx
push 1
lea ecx, [ebp - 0x238]
call fcn.0045b620
mov ecx, eax
call fcn.0045b5f0
sub esp, 0xc
mov ecx, esp
push eax
call fcn.0045b620
mov ecx, edi
call fcn.0045b670
test al, al
je 0x41f92d
inc esi
add edi, 0xc
sub dword [ebp - 0x178], 1
jne 0x41f902
mov dword [ebp - 0x194], esi
xor eax, eax
mov ecx, dword [ebp - 0x194]
cmp ecx, 6
mov esi, dword [ebp - 0x198]
mov cl, 1
sete al
mov dword [esi + 0x3ced4], eax
jmp case.0x41e6a2.3
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 1
push 0
call fcn.004142c0
jmp case.0x41e639.3
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 1
push 1
call fcn.004142c0
jmp case.0x41e639.3
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 1
push 2
call fcn.004142c0
jmp case.0x41e639.3
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 1
push 3
call fcn.004142c0
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
je case.0x41e639.3
call fcn.0041da10
jmp case.0x41e639.3
lea ecx, [ebp - 0x1fc]
call fcn.0045a000
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x34c]
mov eax, dword [edi + 0x14]
mov edi, dword [edi + 0x10]
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x190], edi
call fcn.0045a000
mov eax, dword [esi + 0x3cf64]
lea ecx, [ebp - 0x34c]
mov dword [ebp - 0x178], eax
mov byte [ebp - 4], 0xe
call fcn.0045a160
mov ecx, dword [ebp - 0x17c]
cmp ecx, 0xffffffff
jne 0x41fa36
mov eax, 0x10624dd3
imul dword [ebp - 0x178]
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp edi, 0xffffffff
jne 0x41fa60
mov edi, dword [ebp - 0x178]
mov eax, 0x10624dd3
imul edi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x3e8
sub edi, eax
mov dword [ebp - 0x190], edi
cmp ecx, 9
ja 0x41faa6
cmp edi, 0xa
ja 0x41faa6
imul edi, ecx, 0x3e8
lea ecx, [ebp - 0x364]
add edi, dword [ebp - 0x190]
call fcn.0045a000
lea ecx, [ebp - 0x364]
mov dword [esi + 0x3cf64], edi
call fcn.0045a160
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0
call fcn.0045a160
jmp case.0x41e639.3
push edi
push ecx
sub esp, 0x18
mov ecx, esp
push str.EF_C0140__d__d_:
call fcn.0045a080
lea eax, [ebp - 0x1fc]
push eax
call fcn.0045b140
add esp, 0x24
lea ecx, [ebp - 0x1fc]
call fcn.0045a620
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0
call fcn.0045a160
jmp case.0x41e639.3
mov cl, 1
mov dword [esi + 0x1392c], 0x80000001
jmp case.0x41e6a2.3
mov cl, 1
mov dword [esi + 0x1392c], 0x80000000
jmp case.0x41e6a2.3
cmp byte [esi + 0xaebe2], 0
mov byte [ebp - 0x174], 1
je 0x41fb25
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x1392c], eax
jmp case.0x41e639.3
push dword [edi + 0x1c]
mov ecx, esi
call fcn.00412ce0
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
mov byte [ebp - 0x174], 1
je 0x41fb53
mov dword [esi + 0x1392c], 0x80000001
jmp case.0x41e639.3
push 0x80000001
mov ecx, esi
call fcn.00412ce0
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
mov byte [ebp - 0x174], 1
je 0x41fb83
mov dword [esi + 0x1392c], 0x80000000
jmp case.0x41e639.3
push 0x80000000
mov ecx, esi
call fcn.00412ce0
jmp case.0x41e639.3
mov eax, dword [edi + 0x1c]
cmp eax, 0xffffffff
jne 0x41fbae
mov dword [esi + 0x3ce98], eax
mov byte [esi + 0xf20c], 0
jmp case.0x41e639.3
test eax, eax
js 0x41fbd9
cmp eax, 0x1f40
jge 0x41fbd9
sub esp, 0xc
mov ecx, esp
push 1
call fcn.0045b620
mov eax, dword [edi + 0x1c]
lea eax, [eax + eax*2]
lea eax, [eax + 0xf79f]
lea ecx, [esi + eax*4]
call fcn.0045b640
push dword [edi + 0x14]
mov ecx, esi
push dword [edi + 0x10]
push dword [edi + 0x1c]
call fcn.00407a30
cmp byte [esi + 0xaebe2], 0
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3ce98], eax
jne case.0x41e639.3
push 0xe
call fcn.0041cde0
mov dword [esi + 0x3ce10], 0
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
jne case.0x41e639.3
mov eax, dword [edi + 0x1c]
test eax, eax
jne 0x41fc46
mov cl, byte [ebp - 0x173]
mov ch, 1
mov byte [ebp - 0x171], ch
mov dword [esi + 0x3cde8], 0xc8
jmp 0x41f393
lea ecx, [eax + eax*2]
mov byte [0x4dcf60], 1
mov dword [esi + 0x3cde8], 0x3e8
mov eax, 0x51eb851f
jle 0x41fc86
add ecx, ecx
mov byte [0x4dcf03], 0
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, dword [esi + 0xf2dc]
mov dword [0x4dcf64], eax
jmp case.0x41e639.3
mov edi, dword [esi + 0xf2dc]
add ecx, ecx
imul ecx
mov byte [0x4dcf03], 1
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov dword [0x4dcf64], edi
jmp case.0x41e639.3
cmp byte [esi + 0xaebe2], 0
jne case.0x41e639.3
mov al, 1
mov ecx, esi
push 0xb
mov byte [ebp - 0x171], al
call fcn.0041cde0
mov dword [esi + 0x3ce04], 0
mov dword [esi + 0x3cde8], 0
jmp case.0x41e639.3
push dword [edi + 0x10]
mov al, 1
mov ecx, esi
push dword [edi + 0x1c]
mov byte [ebp - 0x173], al
call fcn.00422550
cmp dword [edi + 0x1c], 0x17
jne 0x41fd45
cmp dword [edi + 0x10], 1
jne 0x41fd11
push 1
mov ecx, esi
call fcn.0043c140
jmp 0x41fd45
lea ecx, [ebp - 0x37c]
call fcn.0045a000
lea ecx, [ebp - 0x37c]
mov dword [esi + 0x3cf34], 0
mov byte [ebp - 4], 0
call fcn.0045a160
cmp byte [esi + 0xaebe3], 0
jne 0x41fd45
mov ecx, esi
call fcn.0043c760
cmp dword [edi + 0x1c], 0x14
jne case.0x41e639.3
cmp dword [edi + 0x10], 0
mov ecx, esi
jne 0x41fda1
call fcn.0043c200
test al, al
je case.0x41e639.3
lea ecx, [ebp - 0x394]
call fcn.0045a000
lea ecx, [ebp - 0x394]
mov dword [esi + 0x3cf34], 0
mov byte [ebp - 4], 0
call fcn.0045a160
cmp byte [esi + 0xaebe3], 0
jne case.0x41e639.3
mov ecx, esi
call fcn.0043c760
jmp case.0x41e639.3
push 1
jmp 0x41f382
mov edx, dword [edi + 0x1c]
lea eax, [ebp - 0x184]
push eax
xor ecx, ecx
call fcn.0041da90
add esp, 4
test al, al
je case.0x41e639.3
imul eax, dword [esi + 0x3cd4c], 0x9c
add eax, dword [esi + 0x3cd44]
cmp dword [ebp - 0x184], 0
mov dword [ebp - 0x178], eax
lea eax, [ebp - 0x18c]
push eax
je 0x41feb0
mov edx, dword [edi + 0x10]
mov ecx, dword [edi + 8]
call fcn.0041da90
add esp, 4
test al, al
je case.0x41e639.3
mov eax, dword [ebp - 0x18c]
cmp eax, 0xffffffff
je case.0x41e561.38
push eax
mov eax, dword [ebp - 0x178]
lea ecx, [esi + 0x3cd18]
push dword [eax + 0x5c]
push dword [eax + 0x58]
call fcn.00432980
test al, al
je case.0x41e639.3
lea eax, [esi + 0x3cd18]
mov dword [esi + 0x3cde8], 0xa
imul edi, dword [eax + 0x34], 0x9c
mov byte [ebp - 0x171], 1
add edi, dword [eax + 0x2c]
je 0x41fea4
mov eax, dword [edi + 0x64]
cmp eax, 1
je 0x41fe63
cmp eax, 3
jne 0x41fe7c
cmp byte [esi + 0xaea89], 0
je 0x41fe7c
cmp byte [esi + 0xaebe4], 0
jne 0x41fe7c
mov byte [esi + 0xaecc3], 1
cmp dword [edi + 0x64], 1
jne 0x41fe89
mov ecx, esi
call fcn.00432060
mov eax, dword [edi + 0x64]
cmp eax, 1
je 0x41fe96
cmp eax, 3
jne 0x41fea4
cmp byte [esi + 0xaebe2], 0
je 0x41fea4
call fcn.0041da10
mov byte [esi + 0xaed0d], 1
jmp case.0x41e639.3
mov edx, dword [edi + 0x14]
mov ecx, dword [edi + 0xc]
jmp 0x41fdf4
mov edx, dword [edi + 0x1c]
lea eax, [ebp - 0x184]
push eax
xor ecx, ecx
call fcn.0041da90
add esp, 4
test al, al
je case.0x41e639.3
cmp dword [ebp - 0x184], 0
je 0x41fee5
mov eax, dword [edi + 0x10]
jmp 0x41fee8
mov eax, dword [edi + 0x14]
cmp eax, 0xffffffff
je 0x41fef3
mov dword [esi + 0x3cd20], eax
mov cl, 1
jmp case.0x41e6a2.3
cmp byte [esi + 0xaebe2], 0
mov cl, byte [ebp - 0x173]
mov dl, byte [ebp - 0x172]
jne 0x4202ad
mov ch, 1
mov dword [esi + 0x3cde8], 0x6a
mov byte [ebp - 0x171], ch
jmp 0x41f399
mov ch, 1
mov dword [esi + 0x3cde8], 0x1f4
mov byte [ebp - 0x171], ch
xor cl, cl
mov dl, ch
jmp 0x41f399
mov edx, dword [edi + 0x10]
lea eax, [ebp - 0x184]
mov ecx, dword [edi + 8]
push eax
call fcn.0041da90
add esp, 4
test al, al
je case.0x41e639.3
mov edx, dword [edi + 0x14]
lea eax, [ebp - 0x18c]
mov ecx, dword [edi + 0xc]
push eax
call fcn.0041da90
add esp, 4
test al, al
je case.0x41e639.3
mov eax, dword [edi + 0x1c]
cmp eax, 4
ja case.default.0x41ff8b
jmp dword [eax*4 + 0x4223b8]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x18c]
add eax, ecx
mov cl, 1
mov dword [esi + 0x3ced4], eax
jmp case.0x41e6a2.3
mov eax, dword [ebp - 0x184]
mov cl, 1
sub eax, dword [ebp - 0x18c]
mov dword [esi + 0x3ced4], eax
jmp case.0x41e6a2.3
mov eax, dword [ebp - 0x18c]
mov cl, 1
imul eax, dword [ebp - 0x184]
mov dword [esi + 0x3ced4], eax
jmp case.0x41e6a2.3
mov ecx, dword [ebp - 0x18c]
test ecx, ecx
jne 0x41fffd
push str.FN_DIV_n
mov ecx, esi
call fcn.00441990
mov cl, 1
jmp case.0x41e6a2.3
mov eax, dword [ebp - 0x184]
cdq
idiv ecx
mov cl, 1
mov dword [esi + 0x3ced4], eax
jmp case.0x41e6a2.3
cmp dword [edi + 8], 0
je 0x42002c
push str.FN_MOV_n
mov ecx, esi
call fcn.00441990
mov cl, 1
jmp case.0x41e6a2.3
mov eax, dword [edi + 0x10]
cmp eax, 0xffffffff
jne 0x420047
mov eax, dword [ebp - 0x18c]
mov cl, 1
mov dword [esi + 0x3ced4], eax
jmp case.0x41e6a2.3
push dword [ebp - 0x18c]
mov ecx, esi
push eax
call fcn.00422550
mov cl, 1
jmp case.0x41e6a2.3
push eax
sub esp, 0x18
mov ecx, esp
push str.SC_FUNC_n
call fcn.0045a080
lea eax, [ebp - 0x1b4]
push eax
call fcn.0045b140
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0045a620
push eax
mov ecx, esi
call fcn.00441990
mov cl, 1
jmp case.0x41e6a2.3
mov edx, dword [edi + 0x10]
lea eax, [ebp - 0x184]
mov ecx, dword [edi + 8]
push eax
call fcn.0041da90
add esp, 4
test al, al
je case.0x41e639.3
mov edx, dword [edi + 0x14]
lea eax, [ebp - 0x18c]
mov ecx, dword [edi + 0xc]
push eax
call fcn.0041da90
add esp, 4
test al, al
je case.0x41e639.3
mov eax, dword [edi + 0x1c]
cmp eax, 5
ja case.default.0x4200db
jmp dword [eax*4 + 0x4223cc]
mov eax, dword [ebp - 0x184]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
sete cl
mov dword [esi + 0x3ced4], ecx
mov cl, 1
jmp case.0x41e6a2.3
mov eax, dword [ebp - 0x184]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setl cl
mov dword [esi + 0x3ced4], ecx
mov cl, 1
jmp case.0x41e6a2.3
mov eax, dword [ebp - 0x184]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setg cl
mov dword [esi + 0x3ced4], ecx
mov cl, 1
jmp case.0x41e6a2.3
mov eax, dword [ebp - 0x184]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setle cl
mov dword [esi + 0x3ced4], ecx
mov cl, 1
jmp case.0x41e6a2.3
mov eax, dword [ebp - 0x184]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setge cl
mov dword [esi + 0x3ced4], ecx
mov cl, 1
jmp case.0x41e6a2.3
mov eax, dword [ebp - 0x184]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setne cl
mov dword [esi + 0x3ced4], ecx
mov cl, 1
jmp case.0x41e6a2.3
push eax
sub esp, 0x18
mov ecx, esp
push str.SC_COMP_n
call fcn.0045a080
lea eax, [ebp - 0x1b4]
push eax
call fcn.0045b140
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0045a620
push eax
mov ecx, esi
call fcn.00441990
mov cl, 1
jmp case.0x41e6a2.3
cmp byte [esi + 0xaebe2], 0
jne case.0x41e639.3
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3cea4], eax
cmp dword [edi + 0xc], 0
je 0x420235
or dword [ebp - 0x19c], 1
lea ecx, [ebp - 0x418]
call fcn.0045a000
lea ecx, [esi + 0x67120]
call fcn.0045b5f0
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 0
mov edi, eax
call fcn.0045a160
push 1
lea ecx, [ebp - 0x220]
call fcn.0045b620
mov ecx, eax
call fcn.0045b5f0
cmp edi, eax
je 0x420235
xor eax, eax
jmp 0x42023a
mov eax, 1
mov byte [esi + 0x3cea8], al
mov eax, dword [ebp - 0x19c]
test al, 1
je 0x420253
and eax, 0xfffffffe
mov dword [ebp - 0x19c], eax
push 0x18
mov ecx, esi
mov byte [0x5a50e9], 0
call fcn.0041cde0
mov ecx, esi
call fcn.00425a90
mov byte [esi + 0xaed0d], 1
jmp case.0x41e639.3
push ecx
sub esp, 0x18
mov ecx, esp
push 0x4b2f4c
call fcn.0045a080
lea eax, [ebp - 0x1b4]
push eax
call fcn.0045b140
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0045a620
push eax
mov ecx, esi
call fcn.00441990
jmp case.0x41e639.3
mov ch, byte [ebp - 0x171]
jmp 0x41f399
mov ch, 1
mov byte [esi + 0xaed0d], 1
mov byte [ebp - 0x171], ch
mov dword [esi + 0x3cde8], 0x1f4
cmp dword [esi + 0x1392c], 0xffffffff
je 0x42045c
lea ecx, [ebp - 0x3c4]
call fcn.0045a000
mov edi, dword [esi + 0x3cf50]
lea ecx, [ebp - 0x3c4]
mov dword [ebp - 0x178], edi
mov byte [ebp - 4], 0
call fcn.0045a160
mov eax, dword [esi + 0x1392c]
mov ecx, esi
push eax
mov dword [esi + 0x3ce58], eax
call fcn.0041c4b0
sub eax, 1
je 0x420326
sub eax, 5
jne 0x4203c9
push 0
push dword [esi + 0x1392c]
mov ecx, esi
call fcn.00419bb0
test al, al
jne 0x4203c0
lea ecx, [ebp - 0x214]
call fcn.0045a000
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x3dc]
push dword [esi + 0x3ce58]
mov ecx, esi
push eax
call fcn.0041c4f0
mov ecx, eax
mov byte [ebp - 4], 0x18
call fcn.0045a6b0
push eax
sub esp, 0x18
mov ecx, esp
push 0x4b2f6c
call fcn.0045a080
lea eax, [ebp - 0x214]
push eax
call fcn.0045b140
add esp, 0x20
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x3dc]
call fcn.0045a160
lea ecx, [ebp - 0x214]
call fcn.0045a620
push eax
mov ecx, esi
call fcn.00441990
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 0
call fcn.0045a160
nop dword [eax + eax]
cmp byte [esi + 0xaecc4], 0
jne 0x4203c0
mov al, byte [ebp - 0x17e]
mov ecx, esi
test al, al
jne 0x4203ea
push 0
push 0x1e
call fcn.00422550
mov ecx, esi
call fcn.00446410
jmp 0x420456
cmp edi, 0x64
jge 0x4203f6
call fcn.00446410
jmp 0x42044c
push edi
call fcn.00422650
lea ecx, [edi + 1]
mov dword [ebp - 0x188], eax
push ecx
mov ecx, esi
call fcn.00422650
lea ecx, [edi + 2]
mov dword [ebp - 0x17c], eax
push ecx
mov ecx, esi
call fcn.00422650
mov ecx, dword [ebp - 0x178]
mov edi, eax
add ecx, 3
push ecx
mov ecx, esi
call fcn.00422650
push eax
push edi
push dword [ebp - 0x17c]
mov ecx, esi
push dword [ebp - 0x188]
call fcn.00446450
mov edi, dword [ebp - 0x178]
push edi
push 0x1e
mov ecx, esi
call fcn.00422550
mov ch, byte [ebp - 0x171]
mov al, byte [ebp - 0x174]
test al, al
je case.0x421ce6.711
test ch, ch
jne case.0x421ce6.711
mov dword [esi + 0x3cde8], 0x69
jmp case.0x421ce6.711
test dword [esi + 0xee04], 0x1000001
jne 0x42049d
push 0x4000
mov ecx, esi
call fcn.004014b0
test al, al
je 0x4204bb
cmp byte [esi + 0xaea88], 0
mov byte [esi + 0xaebe1], 0
je 0x4204b4
mov byte [esi + 0xaebe0], 0
mov ecx, esi
call fcn.00443dc0
push 2
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x4204d5
mov eax, dword [esi + 0xee04]
shr eax, 0xd
test al, 1
je 0x4204e5
mov ecx, esi
mov word [esi + 0xaebe0], 0
call fcn.00443dc0
push 2
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x420502
push 0x2000
mov ecx, esi
call fcn.00401740
test al, al
je 0x420509
mov ecx, esi
call fcn.00412b20
cmp byte [esi + 0xf21c], 0
jne case.0x421ce6.711
jmp case.0x42154c.1
xor ecx, ecx
lea eax, [esi + 0xef68]
cmp byte [eax - 0x1c], 0
je 0x42052e
cmp dword [eax], 0xffffffff
jne 0x42053c
inc ecx
sub eax, 0xffffff80
cmp ecx, 3
jl 0x420523
jmp case.0x42154c.1
cmp ecx, 3
jl case.0x421ce6.711
jmp case.0x42154c.1
mov ecx, dword [esi + 0x3cd20]
mov eax, dword [esi + 0x3cd18]
shl ecx, 5
add eax, 0xffffffe0
add eax, ecx
mov ecx, esi
push eax
call fcn.00422a90
mov byte [0x4dcf61], 0
call fcn.0041dd00
test al, al
je 0x42057d
mov byte [esi + 0xf1a8], 1
call fcn.0041dd20
test al, al
je 0x4205a3
cmp byte [esi + 0xaebe1], 0
jne 0x42059c
mov eax, dword [esi + 0xee04]
shr eax, 0x19
test al, 1
je 0x4205a3
mov byte [esi + 0xf1a8], 1
mov dword [esi + 0x3cde8], 0x78
jmp case.0x421ce6.711
push 0
lea ecx, [esi + 0xf348]
call fcn.004028b0
mov edi, eax
test edi, edi
je 0x42060e
cmp byte [esi + 0xae960], 0
je 0x4205d5
mov ecx, esi
call fcn.00437570
cmp byte [esi + 0xaebe1], 0
jne 0x42060e
mov eax, dword [esi + 0xee04]
shr eax, 0x19
test al, 1
jne 0x42060e
mov eax, dword [edi + 0x88]
cmp eax, dword [esi + 0xae894]
je 0x42060e
mov ecx, dword [edi + 0x8c]
test ecx, ecx
je 0x42060e
push 0
push ecx
push eax
mov ecx, esi
call fcn.00437470
mov dword [esi + 0x3cde8], 0x96
jmp case.0x421ce6.711
call fcn.0041dd20
test al, al
je 0x42064b
mov eax, dword [esi + 0xee04]
shr eax, 0x19
test al, 1
jne 0x420644
call fcn.0041dd00
test al, al
jne 0x420644
cmp byte [esi + 0xaebe1], al
je 0x42064b
mov byte [esi + 0xf1a8], 1
push 1
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x420685
push 2
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x420685
push 0x1000000
mov ecx, esi
call fcn.00401740
test al, al
jne 0x420685
push 0x4000
mov ecx, esi
call fcn.004014b0
test al, al
je 0x42068c
mov byte [esi + 0xf1a8], 1
test dword [esi + 0xee04], 0x1004001
je 0x4206b6
cmp byte [esi + 0xaea88], 0
mov byte [esi + 0xaebe1], 0
je 0x4206af
mov byte [esi + 0xaebe0], 0
mov ecx, esi
call fcn.00443dc0
push 2
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x4206d0
mov eax, dword [esi + 0xee04]
shr eax, 0xd
test al, 1
je 0x4206e0
mov ecx, esi
mov word [esi + 0xaebe0], 0
call fcn.00443dc0
cmp byte [esi + 0xf1a8], 0
jne 0x42073c
mov eax, dword [esi + 0xf2dc]
cmp dword [esi + 0x3bbf0], eax
jbe 0x420703
mov dword [esi + 0xf1e4], 0
jmp 0x420727
sub eax, dword [esi + 0xf1b4]
xor edx, edx
cmp byte [esi + 0xf204], dl
jne 0x42071b
div dword [esi + 0xaea9c]
jmp 0x420721
div dword [esi + 0xaeaa0]
mov dword [esi + 0xf1e4], eax
mov eax, dword [esi + 0xf1e4]
cmp eax, dword [esi + 0xf198]
jl 0x42073c
mov byte [esi + 0xf1a8], 1
cmp byte [esi + 0xf115], 0
je 0x42075a
mov ecx, esi
call fcn.004031b0
mov eax, dword [esi + 0xf310]
mov dword [esi + 0xf1ec], eax
jmp 0x420764
mov dword [esi + 0xf1ec], 0
cmp byte [esi + 0xf1a8], 0
je case.0x421ce6.711
cmp byte [esi + 0xf204], 0
mov ecx, dword [esi + 0xf2dc]
mov dword [esi + 0x3cde8], 0xc8
mov dword [esi + 0xf1dc], ecx
je 0x4207a3
mov eax, dword [esi + 0xaeaa8]
add eax, ecx
mov dword [esi + 0xaec0c], eax
jmp case.0x421ce6.711
mov eax, dword [esi + 0xaeaa4]
add eax, ecx
mov dword [esi + 0xaec0c], eax
jmp case.0x421ce6.711
lea ecx, [esi + 0xf348]
push 0
call fcn.004028b0
mov edi, eax
mov dword [ebp - 0x178], edi
call fcn.00424ff0
cmp byte [esi + 0xaeabc], 0
mov dword [ebp - 0x190], eax
jne 0x4207ef
mov byte [esi + 0xf115], 0
mov byte [esi + 0xf32c], 0
jmp 0x4207fd
mov byte [esi + 0xf115], 1
mov byte [esi + 0xf32c], 1
cmp byte [esi + 0xf115], 0
je 0x42081b
mov ecx, esi
call fcn.004031b0
mov ecx, dword [esi + 0xf310]
mov dword [esi + 0xf1ec], ecx
jmp 0x420828
or eax, 0xffffffff
mov dword [esi + 0xf1ec], 0
cmp byte [esi + 0xaebe0], 0
mov dword [ebp - 0x184], eax
jne 0x420840
cmp byte [esi + 0xaebe1], 0
je 0x42089c
test dword [esi + 0xee04], 0x1004001
je 0x42086a
cmp byte [esi + 0xaea88], 0
mov byte [esi + 0xaebe1], 0
je 0x420863
mov byte [esi + 0xaebe0], 0
mov ecx, esi
call fcn.00443dc0
push 2
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x4211d1
mov eax, dword [esi + 0xee04]
shr eax, 0xd
test al, 1
jne 0x4211d1
cmp dword [ebp - 0x190], 0xca
je 0x4211d1
mov eax, dword [esi + 0xee04]
shr eax, 0x19
test al, 1
jne 0x4208b2
cmp byte [esi + 0xaebe1], 0
je 0x4208d5
call fcn.0041dd20
test al, al
je 0x4208d5
push 0
push 0x28
mov ecx, esi
mov dword [esi + 0x3cde8], 0x64
call fcn.00422550
jmp case.0x421ce6.711
test edi, edi
je 0x4209d2
lea ecx, [ebp - 0x3f4]
call fcn.0045a000
mov edi, dword [esi + 0x3cf78]
lea ecx, [ebp - 0x3f4]
mov byte [ebp - 4], 0
call fcn.0045a160
cmp edi, 1
mov edi, dword [ebp - 0x178]
jne 0x420961
mov ecx, dword [edi + 0x88]
test ecx, ecx
js 0x420919
call fcn.004376a0
jmp 0x42091c
or eax, 0xffffffff
cmp byte [esi + 0xae942], 0
jne 0x4208bb
cmp ecx, dword [esi + 0xae894]
je 0x4208bb
cmp dword [edi + 0x8c], 0
je 0x4208bb
cmp eax, 0xffffffff
je 0x4208bb
cmp byte [eax + esi + 0xae962], 0
jne 0x4208bb
mov eax, dword [esi + 0xec6c]
lea ecx, [esi + 0xec6c]
mov eax, dword [eax]
call eax
test al, al
je 0x4208bb
cmp byte [esi + 0xaebe0], 0
je 0x4209d2
mov ecx, dword [edi + 0x88]
test ecx, ecx
js 0x42097b
call fcn.004376a0
jmp 0x42097e
or eax, 0xffffffff
cmp byte [esi + 0xae942], 0
jne 0x4209c0
cmp ecx, dword [esi + 0xae894]
je 0x4209c0
cmp dword [edi + 0x8c], 0
je 0x4209c0
cmp eax, 0xffffffff
je 0x4209c0
cmp byte [eax + esi + 0xae962], 0
jne 0x4209c0
mov eax, dword [esi + 0xec6c]
lea ecx, [esi + 0xec6c]
mov eax, dword [eax]
call eax
test al, al
jne 0x4209d2
jmp case.0x42154c.1
mov eax, dword [esi + 0xf2dc]
cmp eax, dword [esi + 0xaec0c]
ja case.0x42154c.1
mov eax, dword [ebp - 0x190]
sub eax, 0xc8
je 0x4209f0
sub eax, 1
jne 0x4209fa
mov dword [ebp - 0x184], 3
jmp 0x4209fa
mov dword [ebp - 0x184], 2
push 2
mov ecx, esi
mov byte [ebp - 0x17e], 0
call fcn.004014b0
test al, al
je 0x420a95
cmp byte [esi + 0xae961], 0
je 0x420a2b
cmp byte [0x4dcf61], 0
je 0x420a2b
mov ecx, esi
call fcn.00437570
mov eax, dword [esi + 0xaeab4]
cmp eax, 9
ja case.0x420a36.7
jmp dword [eax*4 + 0x4223e4]
mov edi, 4
jmp 0x420a9b
mov edi, 7
jmp 0x420a9b
mov edi, 2
jmp 0x420a9b
mov edi, 3
jmp 0x420a9b
cmp byte [esi + 0xaebe4], 0
jne 0x420a95
mov edi, 0xd
jmp 0x420a9b
cmp byte [esi + 0xaebe4], 0
jne 0x420a95
mov edi, 0xe
jmp 0x420a9b
mov edi, 8
jmp 0x420a9b
mov byte [ebp - 0x17e], 1
jmp 0x420a95
push 0x4b2f80
mov ecx, esi
call fcn.00441990
mov edi, dword [ebp - 0x184]
push 0x100000
mov ecx, esi
call fcn.00401740
test al, al
mov ecx, 4
push 0x10
cmovne edi, ecx
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x420ade
push 0x800000
mov ecx, esi
call fcn.00401740
test al, al
jne 0x420ade
push 0x10000
mov ecx, esi
call fcn.00401740
test al, al
je 0x420ae3
mov edi, 1
push 0x200000
mov ecx, esi
call fcn.00401740
test al, al
mov ecx, 7
push 0x4000000
cmovne edi, ecx
mov ecx, esi
call fcn.00401740
test al, al
mov ecx, 2
push 0x20000000
cmovne edi, ecx
mov ecx, esi
call fcn.00401740
test al, al
mov ecx, 5
push 0x40000000
cmovne edi, ecx
mov ecx, esi
call fcn.00401740
test al, al
mov ecx, 6
push 0x400000
cmovne edi, ecx
mov ecx, esi
call fcn.00401740
test al, al
mov ecx, 8
push 0x80000
cmovne edi, ecx
mov ecx, esi
call fcn.00401740
test al, al
mov ecx, 9
push 3
cmovne edi, ecx
lea ecx, [esi + 0xeea8]
call fcn.00401710
test al, al
je 0x420b8a
push 3
lea ecx, [esi + 0xeea8]
mov edi, 2
call fcn.0044d3e0
push 4
lea ecx, [esi + 0xeea8]
call fcn.00401710
test al, al
je 0x420bac
mov edi, 3
lea ecx, [esi + 0xeea8]
push edi
call fcn.0044d3e0
push 1
lea ecx, [esi + 0xeea8]
call fcn.00401710
test al, al
je 0x420bcf
push 3
lea ecx, [esi + 0xeea8]
mov edi, 1
call fcn.0044d3e0
push 2
lea ecx, [esi + 0xeea8]
call fcn.00401710
test al, al
je 0x420bf2
push 3
lea ecx, [esi + 0xeea8]
mov edi, 4
call fcn.0044d3e0
push 0x30
mov ecx, esi
call fcn.00422650
push 0x31
mov ecx, esi
mov dword [0x5a4e10], eax
call fcn.00422650
push 0x80000000
mov ecx, esi
mov dword [0x5a4e14], eax
call fcn.00401740
test al, al
jne 0x4211b2
cmp byte [ebp - 0x17e], al
jne 0x4211b2
dec edi
cmp edi, 0x10
ja case.0x420c38.7
jmp dword [edi*4 + 0x42240c]
push 1
mov ecx, esi
call fcn.00437150
mov ecx, esi
call fcn.00411c20
mov dword [esi + 0x3cde8], 0x12c
jmp 0x421177
push 1
mov ecx, esi
call fcn.00437150
cmp byte [esi + 0xaebe4], 0
jne 0x421177
mov ecx, esi
call fcn.00412b20
mov ecx, esi
call fcn.00425c90
call fcn.00411c20
cmp byte [esi + 0xaea65], 0
je 0x420c9f
mov dword [esi + 0x3cde8], 0x2c6
jmp 0x421177
push 3
push 2
mov ecx, esi
call fcn.0042f4a0
mov dword [esi + 0x3cde8], 0x2bc
jmp 0x421177
push 1
mov ecx, esi
call fcn.00437150
cmp byte [esi + 0xaebe4], 0
jne 0x421177
mov eax, dword [esi + 0xaebd0]
test eax, eax
js 0x421177
cmp eax, 0xa
jge 0x421177
mov ecx, esi
call fcn.00412b20
mov ecx, esi
call fcn.00425c90
cmp byte [esi + 0xaea66], 0
je 0x420d0c
mov dword [esi + 0x3cde8], 0x2f8
jmp 0x421177
push 4
push 3
mov ecx, esi
call fcn.0042f4a0
mov dword [esi + 0x3cde8], 0x2ee
jmp 0x421177
mov ecx, esi
call fcn.00412b20
mov ecx, esi
call fcn.00425c90
call fcn.00411c20
push 1
mov ecx, esi
mov byte [esi + 0xaed0d], 1
call fcn.00437150
push 0
mov ecx, esi
mov byte [esi + 0xf32c], 0
call fcn.00425b90
push 0
mov ecx, esi
call fcn.0043c140
push 8
mov ecx, esi
mov byte [esi + 0xaecf6], 0
mov word [esi + 0xaecf4], 0
call fcn.0041cde0
mov dword [esi + 0x3cde8], 0x190
jmp 0x421177
mov ecx, esi
call fcn.00412b20
mov ecx, esi
call fcn.00425c90
call fcn.00411c20
push 1
mov ecx, esi
mov byte [esi + 0xaed0d], 1
call fcn.00437150
push 0
mov ecx, esi
mov byte [esi + 0xf32c], 0
call fcn.00425b90
push 0
mov ecx, esi
call fcn.0043c140
push 0x11
mov ecx, esi
mov word [esi + 0xaecf4], 0
mov byte [esi + 0xaecf6], 0
call fcn.0041cde0
mov word [0x4dab50], 1
mov dword [esi + 0x3cde8], 0x190
jmp 0x421177
mov ecx, esi
call fcn.00412b20
mov ecx, esi
call fcn.00425c90
call fcn.00411c20
push 1
mov ecx, esi
mov byte [esi + 0xaed0d], 1
call fcn.00437150
push 0
mov ecx, esi
mov byte [esi + 0xf32c], 0
call fcn.00425b90
push 0
mov ecx, esi
call fcn.0043c140
push 0x11
mov ecx, esi
mov word [esi + 0xaecf4], 0
mov byte [esi + 0xaecf6], 0
call fcn.0041cde0
mov word [0x4dab50], 0
mov dword [esi + 0x3cde8], 0x190
jmp 0x421177
push 0
lea ecx, [esi + 0xf348]
call fcn.004028b0
test eax, eax
je 0x421177
mov ecx, dword [eax + 0x88]
cmp ecx, dword [esi + 0xae894]
je 0x421177
mov edx, dword [eax + 0x8c]
test edx, edx
je 0x421177
movzx eax, byte [esi + 0xae961]
push eax
push edx
push ecx
mov ecx, esi
call fcn.00437470
mov byte [0x4dcf61], 1
jmp 0x421177
cmp dword [esi + 0xf34c], 1
jle 0x421177
mov ecx, esi
call fcn.00412b20
mov ecx, esi
call fcn.00425c90
push 1
call fcn.00437150
push 0
lea ecx, [esi + 0xf348]
call fcn.004028b0
cmp byte [esi + 0xae961], 0
mov byte [esi + 0xaecf4], 0
je 0x420f0c
cmp byte [0x4dcf61], 0
je 0x420f0c
mov ecx, esi
mov byte [0x4dcf61], 0
call fcn.00437570
push 0x10
mov ecx, esi
call fcn.0041cde0
mov dword [esi + 0x3cde8], 0x258
jmp 0x421177
push 1
mov ecx, esi
call fcn.00437150
cmp byte [esi + 0xaebe0], 0
je 0x420f49
mov ecx, esi
mov byte [esi + 0xaebe0], 0
call fcn.00443dc0
jmp 0x42116d
cmp byte [esi + 0xae961], 0
mov byte [esi + 0xaebe0], 1
je 0x420f70
cmp byte [0x4dcf61], 0
je 0x420f70
mov ecx, esi
mov byte [0x4dcf61], 0
call fcn.00437570
cmp byte [esi + 0xaebe1], 0
je 0x420f80
mov byte [esi + 0xaebe1], 0
mov ecx, esi
call fcn.00443dc0
jmp 0x42116d
cmp byte [esi + 0xaea5d], 0
jne 0x420fa2
cmp byte [esi + 0xf19c], 0
je 0x421177
push 1
mov ecx, esi
call fcn.00437150
cmp byte [esi + 0xae961], 0
mov byte [esi + 0xaebe1], 1
je 0x420fd2
cmp byte [0x4dcf61], 0
je 0x420fd2
mov ecx, esi
mov byte [0x4dcf61], 0
call fcn.00437570
cmp byte [esi + 0xaebe0], 0
je 0x420fe2
mov byte [esi + 0xaebe0], 0
mov ecx, esi
call fcn.00443dc0
jmp 0x42116d
cmp byte [esi + 0xaea74], 0
jne 0x421177
mov dword [esi + 0x3cde8], 0xfa
jmp 0x421177
cmp byte [esi + 0xaea74], 0
je 0x421177
mov dword [esi + 0x3cde8], 0xfa
jmp 0x421177
mov ecx, esi
call fcn.00412b20
mov ecx, esi
call fcn.00425c90
call fcn.00411c20
push 1
mov ecx, esi
call fcn.00437150
push 0
mov ecx, esi
mov byte [esi + 0xf32c], 0
call fcn.00425b90
push 0
mov ecx, esi
call fcn.0043c140
mov byte [esi + 0xaed0d], 1
push 0x1e
jmp 0x420d64
cmp byte [esi + 0xaeabc], 0
lea ecx, [esi + 0xf2fc]
sete al
mov byte [esi + 0xaeabc], al
call fcn.00406170
mov ecx, esi
call fcn.004031f0
jmp 0x421177
cmp byte [esi + 0xaea6f], 0
je 0x4210a8
mov dword [esi + 0x3cde8], 0x38e
jmp 0x421177
push 0xd
push 6
mov ecx, esi
call fcn.0042f4a0
mov dword [esi + 0x3cde8], 0x384
jmp 0x421177
mov ecx, esi
call fcn.00431f70
test al, al
je 0x421177
cmp byte [esi + 0xaea70], 0
je 0x4210e9
mov dword [esi + 0x3cde8], 0x208
jmp 0x421177
push 0xe
push 7
mov ecx, esi
call fcn.0042f4a0
mov dword [esi + 0x3cde8], 0x1fe
jmp 0x421177
push 1
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x42114d
push 0x1000000
mov ecx, esi
call fcn.00401740
test al, al
jne 0x42114d
push 0x4000
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x42114d
push 0x20
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x42114d
push 0x20000
mov ecx, esi
call fcn.00401740
test al, al
je 0x421177
cmp byte [esi + 0xae961], 0
je 0x42116d
cmp byte [0x4dcf61], 0
je 0x42116d
mov ecx, esi
mov byte [0x4dcf61], 0
call fcn.00437570
mov dword [esi + 0x3cde8], 0x64
mov eax, dword [esi + 0xf1dc]
mov ecx, dword [esi + 0xf2dc]
add eax, 6
cmp eax, ecx
jae case.0x421ce6.711
inc dword [esi + 0xf1e0]
cmp dword [esi + 0xf1e0], 1
jl 0x4211a7
mov dword [esi + 0xf1e0], 0
mov dword [esi + 0xf1dc], ecx
jmp case.0x421ce6.711
mov ecx, esi
call fcn.00412b20
push 0x13
mov ecx, esi
call fcn.0041cde0
mov dword [esi + 0x3cde8], 0x320
jmp case.0x421ce6.711
mov ecx, esi
mov word [esi + 0xaebe0], 0
call fcn.00443dc0
jmp case.0x421ce6.711
push 0xc
lea ecx, [esi + 0xf2fc]
call fcn.00406750
push 0xb
lea ecx, [esi + 0xf2fc]
call fcn.00406750
mov eax, dword [esi + 0xf2dc]
mov dword [0x5a43cc], eax
mov dword [esi + 0x3cde8], 0x104
jmp case.0x421ce6.711
mov edi, dword [esi + 0xf2dc]
mov eax, 0x1e
sub edi, dword [0x5a43cc]
cmp edi, eax
cmova edi, eax
cmp byte [esi + 0xaea74], 0
sete al
imul ecx, edi, 0x64
movzx eax, al
push eax
mov eax, 0x88888889
mul ecx
mov ecx, esi
shr edx, 4
push edx
call fcn.0043c940
cmp edi, 0x1e
jb case.0x421ce6.711
cmp byte [esi + 0xaea74], 0
mov ecx, esi
sete al
mov byte [esi + 0xaea74], al
call fcn.0043c260
mov dword [esi + 0x3cde8], 0xc8
jmp case.0x421ce6.711
cmp eax, 0x2bc
jg 0x421cc0
je 0x421ca4
cmp eax, 0x1f4
jg 0x421aae
je 0x4214ac
sub eax, 0x12c
cmp eax, 0x64
ja case.0x421ce6.711
movzx eax, byte [eax + 0x422464]
jmp dword [eax*4 + 0x422450]
push str.Message_Hide
lea ecx, [esi + 0xf2fc]
mov byte [esi + 0xf0cc], 0
call fcn.00405f90
push 0
mov ecx, esi
call fcn.0043c140
mov dword [esi + 0x3cde8], 0x136
jmp case.0x421ce6.711
push 2
mov ecx, esi
xor dh, dh
xor dl, dl
call fcn.004014b0
test al, al
je 0x42130f
cmp dword [esi + 0xaeab4], 0
jne 0x42130d
mov dl, 1
jmp 0x42130f
mov dh, 1
push 1
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x42133c
push 0x100000
mov ecx, esi
call fcn.00401740
test al, al
jne 0x42133c
push 0x4000
mov ecx, esi
call fcn.00401740
test al, al
je 0x42133e
mov dh, 1
push 2
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x42136b
push 0x2000
mov ecx, esi
call fcn.00401740
test al, al
jne 0x42136b
push 0x200000
mov ecx, esi
call fcn.00401740
test al, al
je 0x42136d
mov dl, 1
test dh, dh
je 0x421380
mov dword [esi + 0x3cde8], 0x15e
jmp case.0x421ce6.711
test dl, dl
je case.0x421ce6.711
mov ecx, esi
call fcn.00412b20
nop
cmp byte [esi + 0xaecc4], 0
jne 0x421390
lea ecx, [esi + 0xf2fc]
mov byte [esi + 0xf0cc], 1
call fcn.00406170
push 1
mov ecx, esi
call fcn.0043c140
cmp byte [esi + 0xaeabc], 0
jne 0x4213cb
mov byte [esi + 0xf32c], 0
mov byte [esi + 0xf115], 0
mov dword [esi + 0xf1ec], 0
push 9
jmp 0x4211bb
lea ecx, [esi + 0xf2fc]
mov byte [esi + 0xf0cc], 1
call fcn.00406170
push 1
mov ecx, esi
call fcn.0043c140
cmp byte [esi + 0xaeabc], 0
jne 0x42140e
mov byte [esi + 0xf32c], 0
mov byte [esi + 0xf115], 0
mov dword [esi + 0xf1ec], 0
mov dword [esi + 0x3cde8], 0xc8
jmp case.0x421ce6.711
push 1
mov ecx, esi
mov byte [esi + 0xf32c], 1
call fcn.00425b90
push 1
mov ecx, esi
call fcn.0043c140
cmp byte [esi + 0xaeabc], 0
mov word [esi + 0xaecf4], 0x101
mov byte [esi + 0xaecf6], 1
mov byte [esi + 0xaed0d], 0
jne 0x42146e
mov byte [esi + 0xf32c], 0
mov byte [esi + 0xf115], 0
mov dword [esi + 0xf1ec], 0
call fcn.0041dd40
mov ecx, esi
call fcn.00446670
mov ecx, esi
call fcn.00443dc0
mov eax, dword [esi + 0xf2dc]
add eax, dword [esi + 0xaeaa4]
mov dword [esi + 0xaec0c], eax
mov dword [esi + 0x3cde8], 0xc8
jmp case.0x421ce6.711
mov eax, dword [esi + 0x3cd20]
lea edi, [esi + 0x3cd18]
mov ecx, edi
mov dword [ebp - 0x178], eax
call fcn.00432d80
mov dword [ebp - 0x17c], eax
cmp eax, 0x1387
ja 0x421533
push dword [ebp - 0x178]
lea ecx, [ebp - 0x334]
call fcn.0045b620
mov ecx, eax
call fcn.0045b5f0
sub esp, 0xc
mov ecx, esp
push eax
call fcn.0045b620
mov eax, dword [ebp - 0x17c]
lea eax, [eax + eax*2]
lea eax, [eax + 0x16135]
lea eax, [esi + eax*4]
mov ecx, eax
mov dword [ebp - 0x17c], eax
call fcn.0045b690
test al, al
je 0x421533
sub esp, 0xc
mov ecx, esp
push dword [ebp - 0x178]
call fcn.0045b620
mov ecx, dword [ebp - 0x17c]
call fcn.0045b640
push ecx
mov ecx, esi
call fcn.00416cb0
mov ecx, edi
call fcn.00432b50
inc eax
cmp eax, 4
ja case.0x421ce6.711
jmp dword [eax*4 + 0x4224cc]
lea ecx, [esi + 0xf2fc]
mov dword [esi + 0xaecf6], 0x1000000
mov word [esi + 0xaecf4], 0
mov word [esi + 0xaebe0], 0
call fcn.00405e50
mov eax, dword [esi + 0x3cdc8]
xorps xmm0, xmm0
mov dword [esi + 0x3cdcc], eax
mov ecx, esi
movups xmmword [esi + 0x3cdd8], xmm0
push 0xffffffffffffffff
movups xmmword [esi + 0x3cde8], xmm0
movups xmmword [esi + 0x3cdf8], xmm0
movups xmmword [esi + 0x3ce08], xmm0
movups xmmword [esi + 0x3ce18], xmm0
movups xmmword [esi + 0x3ce28], xmm0
movups xmmword [esi + 0x3ce38], xmm0
movups xmmword [esi + 0x3ce48], xmm0
call fcn.00436990
push 0
mov ecx, esi
call fcn.00425b90
push 0
mov ecx, esi
call fcn.0043c140
mov dword [esi + 0x3cde8], 0
mov dword [esi + 0x3cdd4], 1
mov dword [esi + 0x3cde4], 0
jmp case.0x421ce6.711
push 0xffffffffffffffff
mov ecx, esi
mov dword [esi + 0x3cde8], 0
mov word [esi + 0xaebe0], 0
call fcn.00436990
cmp byte [esi + 0xaebe6], 0
jne 0x421660
cmp byte [esi + 0xaecc4], 0
jne 0x421624
lea ecx, [esi + 0xf2fc]
call fcn.00406170
mov ecx, esi
call fcn.0041ce60
push 0
mov ecx, esi
call fcn.00425b90
push 0
mov ecx, esi
call fcn.0043c140
mov dword [esi + 0x3cde8], 0
jmp case.0x421ce6.711
push 0
mov ecx, esi
mov dword [esi + 0xaecf6], 0x1000000
mov word [esi + 0xaecf4], 0
call fcn.00425b90
push 0
mov ecx, esi
call fcn.0043c140
lea ecx, [esi + 0xf2fc]
call fcn.00405e50
mov eax, dword [esi + 0x3cdc8]
xorps xmm0, xmm0
mov dword [esi + 0x3cdcc], eax
movups xmmword [esi + 0x3cdd8], xmm0
movups xmmword [esi + 0x3cde8], xmm0
movups xmmword [esi + 0x3cdf8], xmm0
movups xmmword [esi + 0x3ce08], xmm0
movups xmmword [esi + 0x3ce18], xmm0
movups xmmword [esi + 0x3ce28], xmm0
movups xmmword [esi + 0x3ce38], xmm0
movups xmmword [esi + 0x3ce48], xmm0
mov dword [esi + 0x3cdd4], 1
mov dword [esi + 0x3cde4], 0
mov dword [esi + 0x3cde8], 0
jmp case.0x421ce6.711
mov ecx, edi
mov dword [esi + 0x3cd20], 0
call fcn.004328d0
push eax
imul eax, dword [edi + 0x34], 0x9c
add eax, dword [edi + 0x2c]
mov ecx, dword [eax + 0x6c]
mov dword [esi + 0xaec14], ecx
mov ecx, dword [eax + 0x70]
mov dword [esi + 0xaec18], ecx
mov ecx, esi
mov eax, dword [eax + 0x68]
mov dword [esi + 0xaeca8], eax
mov dword [esi + 0xaec10], 0
call fcn.00422a90
cmp byte [esi + 0xaebe4], 0
mov byte [esi + 0xf1a8], 1
jne 0x421762
cmp byte [esi + 0xaea89], 0
je 0x421762
mov byte [esi + 0xaecc3], 1
mov ecx, esi
call fcn.00432060
mov dword [esi + 0xaecac], 0
lea eax, [esi + 0xaec1c]
mov dword [ebp - 0x198], eax
mov edx, 0xaec30
mov dword [eax], 0xffffffff
xor eax, eax
mov dword [esi + 0xaec20], 0xffffffff
mov dword [esi + 0xaec24], 0xffffffff
mov dword [esi + 0xaec28], 0xffffffff
mov dword [esi + 0xaec2c], 0xffffffff
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x190], edx
imul ecx, dword [edi + 0x34], 0x27
add ecx, eax
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + ecx*4 + 0x74]
mov ecx, dword [ebp - 0x198]
mov dword [ecx], eax
cmp eax, 0xffffffff
je 0x41e46a
inc dword [esi + 0xaecac]
lea eax, [edx + esi]
mov ecx, eax
mov dword [ebp - 0x17c], eax
call fcn.0045a200
mov ecx, edi
call fcn.004328d0
test eax, eax
je 0x42181f
push dword [eax + 0x10]
mov ecx, edi
call fcn.004328f0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0045a080
mov ecx, dword [ebp - 0x17c]
call fcn.0045a3a0
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x178]
add edx, 0x18
add dword [ebp - 0x198], 4
inc eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x190], edx
cmp edx, 0xaeca8
jl 0x4217c0
jmp 0x41e46a
imul eax, dword [edi + 0x34], 0x9c
add eax, dword [edi + 0x2c]
cmp byte [esi + 0xaebe4], 0
mov edi, eax
mov eax, dword [edi + 0x6c]
mov dword [ebp - 0x178], eax
mov eax, dword [edi + 0x70]
mov dword [ebp - 0x190], eax
mov eax, dword [edi + 0x68]
mov dword [ebp - 0xc8], eax
jne 0x421893
cmp byte [esi + 0xaea89], 0
je 0x421893
mov byte [esi + 0xaecc3], 1
mov ecx, esi
call fcn.00432060
mov edx, dword [edi + 0x74]
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x190]
cmp edx, 0xffffffff
jne 0x4218c9
mov byte [ebp - 0xc4], 0
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xb8], edx
jmp 0x4218e2
mov byte [ebp - 0xc4], 1
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], edx
mov edx, dword [edi + 0x78]
cmp edx, 0xffffffff
jne 0x421905
mov byte [ebp - 0xb4], 0
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xa8], edx
jmp 0x42191e
mov byte [ebp - 0xb4], 1
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa8], edx
mov edx, dword [edi + 0x7c]
cmp edx, 0xffffffff
jne 0x421941
mov byte [ebp - 0xa4], 0
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x98], edx
jmp 0x42195a
mov byte [ebp - 0xa4], 1
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], edx
mov edx, dword [edi + 0x80]
cmp edx, 0xffffffff
jne 0x421980
mov byte [ebp - 0x94], 0
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], edx
jmp 0x421999
mov byte [ebp - 0x94], 1
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], edx
mov edx, dword [edi + 0x84]
cmp edx, 0xffffffff
jne 0x4219b6
mov byte [ebp - 0x84], 0
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
jmp 0x4219c6
mov byte [ebp - 0x84], 1
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], edx
mov edx, dword [edi + 0x88]
cmp edx, 0xffffffff
jne 0x4219e0
mov byte [ebp - 0x74], 0
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], edx
jmp 0x4219ed
mov byte [ebp - 0x74], 1
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], edx
mov edx, dword [edi + 0x8c]
cmp edx, 0xffffffff
jne 0x421a07
mov byte [ebp - 0x64], 0
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], edx
jmp 0x421a14
mov byte [ebp - 0x64], 1
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], edx
mov edx, dword [edi + 0x90]
cmp edx, 0xffffffff
jne 0x421a2e
mov byte [ebp - 0x54], 0
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edx
jmp 0x421a3b
mov byte [ebp - 0x54], 1
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov edx, dword [edi + 0x94]
cmp edx, 0xffffffff
jne 0x421a55
mov byte [ebp - 0x44], 0
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], edx
jmp 0x421a62
mov byte [ebp - 0x44], 1
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
mov edx, dword [edi + 0x98]
cmp edx, 0xffffffff
jne 0x421a7c
mov byte [ebp - 0x34], 0
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], edx
jmp 0x421a89
mov byte [ebp - 0x34], 1
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], edx
lea eax, [ebp - 0xc8]
push eax
call fcn.00424fd0
mov dword [esi + 0x3cde8], 0
mov dword [esi + 0x3cdd4], 6
jmp case.0x421ce6.711
sub eax, 0x1fe
je 0x421c88
sub eax, 0xa
je 0x421b2e
sub eax, 0x50
jne case.0x421ce6.711
call fcn.0041dd40
mov ecx, esi
call fcn.00446670
cmp byte [esi + 0xaeabc], 0
jne 0x421aee
mov byte [esi + 0xf32c], 0
mov byte [esi + 0xf115], 0
mov eax, dword [esi + 0xf2dc]
mov ecx, esi
add eax, dword [esi + 0xaeaa4]
mov dword [esi + 0xf1ec], 0
mov dword [esi + 0xaec0c], eax
call fcn.00443dc0
mov byte [esi + 0xaecf4], 1
mov byte [esi + 0xaed0d], 0
mov dword [esi + 0x3cde8], 0xc8
jmp case.0x421ce6.711
mov eax, dword [esi + 0x3cd20]
lea ecx, [esi + 0x3cd18]
mov dword [ebp - 0x178], eax
call fcn.00432d80
mov edi, eax
cmp edi, 0x1387
ja 0x421ba2
push dword [ebp - 0x178]
lea ecx, [ebp - 0x400]
call fcn.0045b620
mov ecx, eax
call fcn.0045b5f0
sub esp, 0xc
mov ecx, esp
push eax
call fcn.0045b620
lea eax, [edi + edi*2]
lea edi, [esi + eax*4]
lea ecx, [edi + 0x584d4]
call fcn.0045b690
test al, al
je 0x421ba2
sub esp, 0xc
mov ecx, esp
push dword [ebp - 0x178]
call fcn.0045b620
lea ecx, [edi + 0x584d4]
call fcn.0045b640
push ecx
mov ecx, esi
call fcn.00416cb0
push 0x21
mov ecx, esi
call fcn.00422650
push 0x20
mov ecx, esi
mov dword [ebp - 0x17c], eax
call fcn.00422650
mov ecx, esi
lea edi, [eax - 1]
call fcn.0041cef0
call fcn.0041d060
push edi
push dword [ebp - 0x17c]
mov ecx, esi
call fcn.00431fd0
mov ecx, esi
test al, al
je 0x421c65
mov eax, dword [esi + 0x3cdc8]
mov dword [esi + 0x3cdcc], eax
call fcn.0041d670
push 1
mov ecx, esi
call fcn.0043c140
push 0x30
mov ecx, esi
call fcn.00422650
push 0x31
mov ecx, esi
mov dword [0x5a4e10], eax
call fcn.00422650
cmp byte [esi + 0xf21c], 0
mov dword [0x5a4e14], eax
jne 0x421c36
cmp dword [0x5a4e10], 0
je 0x421c36
call fcn.0041dd40
mov ecx, esi
call fcn.00446670
push 0x1b
mov ecx, esi
call fcn.00422650
test eax, eax
mov ecx, esi
setne al
movzx eax, al
push eax
call fcn.004032f0
mov dword [esi + 0x3cde8], 0x32
jmp case.0x421ce6.711
push 0x4b2fc0
call fcn.00441990
mov dword [esi + 0x3cdd4], 3
mov dword [esi + 0x3cde8], 0
jmp case.0x421ce6.711
cmp dword [0x5a6438], 1
jne 0x421d33
mov dword [esi + 0x3cde8], 0x208
jmp case.0x421ce6.711
cmp dword [0x5a6438], 1
jne 0x421d33
mov dword [esi + 0x3cde8], 0x2c6
jmp case.0x421ce6.711
cmp eax, 0x384
jg 0x421ed7
je 0x421eb8
sub eax, 0x2c6
cmp eax, 0x5a
ja case.0x421ce6.711
movzx eax, byte [eax + 0x4224f4]
jmp dword [eax*4 + 0x4224e0]
cmp byte [esi + 0xaecc4], 0
jne case.0x421ce6.710
inc dword [esi + 0xaebd0]
cmp dword [esi + 0xaebd0], 1
jl 0x421d12
mov dword [esi + 0xaebd0], 0
mov eax, dword [esi + 0xaebd0]
mov ecx, esi
push 0
push 0x4b2ff4
add eax, 0x6d
push eax
call fcn.00417440
push 0x1c
mov ecx, esi
call fcn.004376c0
call fcn.0041dd40
jmp 0x42148b
cmp dword [0x5a6438], 1
jne 0x421d33
mov dword [esi + 0x3cde8], 0x2f8
jmp case.0x421ce6.711
mov eax, dword [esi + 0xaebd0]
mov dword [esi + 0x3cde8], 0xc8
test eax, eax
js case.0x421ce6.711
cmp eax, 1
jge case.0x421ce6.711
cmp byte [esi + 0xaecc4], 0
jne 0x421d76
mov ecx, esi
call fcn.0041cef0
call fcn.0041d060
mov eax, dword [esi + 0xaebd0]
mov ecx, esi
push 0
add eax, 0x6d
push eax
call fcn.00417ba0
mov ecx, esi
test al, al
jne 0x421dae
push 0x4b3004
jmp 0x421c6a
mov eax, dword [esi + 0x3cdc8]
mov dword [esi + 0x3cdcc], eax
call fcn.0041d670
push 1
mov ecx, esi
call fcn.0043c140
push 0x30
mov ecx, esi
call fcn.00422650
push 0x31
mov ecx, esi
mov dword [0x5a4e10], eax
call fcn.00422650
cmp byte [esi + 0xf21c], 0
mov dword [0x5a4e14], eax
jne 0x421dfb
cmp dword [0x5a4e10], 0
je 0x421dfb
call fcn.0041dd40
mov ecx, esi
call fcn.00446670
push 0x1b
mov ecx, esi
call fcn.004376c0
push 0x1b
mov ecx, esi
call fcn.00422650
test eax, eax
mov ecx, esi
setne al
movzx eax, al
push eax
call fcn.004032f0
mov dword [esi + 0x3cde8], 0x32
jmp case.0x421ce6.711
cmp byte [esi + 0xaeabc], 0
mov word [esi + 0xaecf4], 0x101
mov byte [esi + 0xaecf6], 1
mov byte [esi + 0xaed0d], 0
jne 0x421e61
mov byte [esi + 0xf32c], 0
mov byte [esi + 0xf115], 0
mov dword [esi + 0xf1ec], 0
call fcn.0041dd40
mov ecx, esi
call fcn.00446670
push 0x1b
mov ecx, esi
call fcn.00422650
test eax, eax
mov ecx, esi
setne al
movzx eax, al
push eax
call fcn.004032f0
mov eax, dword [esi + 0xf2dc]
mov ecx, esi
add eax, dword [esi + 0xaeaa4]
mov dword [esi + 0xaec0c], eax
call fcn.00443dc0
mov dword [esi + 0x3cde8], 0xc8
jmp case.0x421ce6.711
cmp dword [0x5a6438], 1
mov eax, 0xc8
mov ecx, 0x38e
cmove eax, ecx
mov dword [esi + 0x3cde8], eax
jmp case.0x421ce6.711
sub eax, 0x38e
je 0x421f7a
sub eax, 0x5a
je 0x421f09
sub eax, 0xc8
jne case.0x421ce6.711
call fcn.00408d50
test al, al
je case.0x421ce6.711
call fcn.00408e70
jmp case.0x42154c.1
cmp byte [0x4dcf03], 0
je 0x421f62
push 1
mov ecx, esi
call fcn.004014b0
test al, al
jne case.0x42154c.1
push 0x4000
mov ecx, esi
call fcn.004014b0
test al, al
jne case.0x42154c.1
push 0x1000000
mov ecx, esi
call fcn.00401740
test al, al
jne case.0x42154c.1
mov eax, dword [esi + 0xee04]
shr eax, 0x19
test al, 1
jne case.0x42154c.1
cmp byte [esi + 0xaebe1], 0
jne case.0x42154c.1
cmp byte [esi + 0xaebe0], 0
jne case.0x42154c.1
cmp byte [0x4dcf60], 0
je case.0x421ce6.711
mov eax, dword [0x4dcf64]
cmp eax, dword [esi + 0xf2dc]
jae case.0x421ce6.711
jmp case.0x42154c.1
call fcn.0041d990
mov dword [esi + 0x3cde8], 0x64
lea ecx, [ebp - 0x1b4]
call fcn.0045a160
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00461b73
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret