Function at 0x41db40
Capabilities:
Check http status code
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 0x496448
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x400
mov eax, dword [0x4c5008]
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.00459660
mov dword [ebp - 4], 0
mov eax, dword [esi + 0x3cde8]
cmp eax, 0x104
jg 0x420f71
je 0x420f09
cmp eax, 0xfa
ja case.default.0x4212cf
movzx eax, byte [eax + 0x421b3c]
jmp dword [eax*4 + 0x421b04]
mov ecx, esi
mov dword [esi + 0xae072], 0x1010101
mov word [esi + 0xae070], 0x101
call fcn.00445b20
lea ecx, [ebp - 0x244]
call fcn.00459660
mov edi, dword [esi + 0x3cf98]
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 0
call fcn.004597c0
lea ecx, [ebp - 0x25c]
mov dword [0x5a2848], edi
call fcn.00459660
mov edi, dword [esi + 0x3cf9c]
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0
call fcn.004597c0
cmp byte [esi + 0xf21c], 0
mov dword [0x5a284c], edi
jne 0x41dc52
cmp dword [0x5a2848], 0
je 0x41dc52
call fcn.0041dac0
push ecx
mov ecx, esi
call fcn.00416c60
mov ecx, esi
call fcn.00403220
mov ecx, esi
call fcn.004254e0
push 1
mov ecx, esi
call fcn.004255e0
mov al, byte [esi + 0xade38]
mov byte [esi + 0xf32c], al
test al, al
jne 0x41dc8f
mov byte [esi + 0xf32c], al
mov byte [esi + 0xf115], al
jmp 0x41dc96
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 [0x4a02b0]
push 1
movups xmmword [esi + 0xf1f4], xmm0
call fcn.0043b680
push 0xffffffffffffffff
lea ecx, [esi + 0xeea8]
mov byte [esi + 0xae089], 1
call fcn.0044c890
mov byte [0x5a4a70], 0
mov dword [esi + 0x3cde8], 0x32
jmp case.default.0x4212cf
push ecx
mov ecx, esi
call fcn.00416c60
mov ecx, esi
call fcn.00445b20
push 0xffffffffffffffff
lea ecx, [esi + 0xeea8]
call fcn.0044c890
mov byte [0x5a4a70], 1
mov dword [esi + 0x3cde8], 0x32
jmp case.default.0x4212cf
call dword [0x4993a4]
add eax, 0x2710
mov dword [esi + 0x3cde8], 0x37
mov dword [0x5a4a84], eax
jmp case.default.0x4212cf
mov eax, dword [esi + 0xec6c]
lea ecx, [esi + 0xec6c]
mov eax, dword [eax]
call eax
test al, al
je 0x41dd6b
call dword [0x4993a4]
cmp eax, dword [0x5a4a84]
jb case.default.0x4212cf
mov dword [esi + 0x3cde8], 0x3c
jmp case.default.0x4212cf
mov ecx, esi
call fcn.004432c0
imul eax, dword [esi + 0x3cd4c], 0x9c
lea edi, [esi + 0x3cd18]
add eax, dword [edi + 0x2c]
jne 0x41dda5
mov dword [esi + 0x3cde8], 0x1f4
jmp case.default.0x4212cf
mov eax, dword [eax + 0x64]
sub eax, 0
je case.0x4212cf.1
sub eax, 1
je 0x41e07a
sub eax, 2
jne case.0x4212cf.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 0x41ddff
mov byte [ebp - 0x16c], 0
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], eax
jmp 0x41de18
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 0x41de3b
mov byte [ebp - 0x15c], 0
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
jmp 0x41de54
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 0x41de77
mov byte [ebp - 0x14c], 0
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
jmp 0x41de90
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 0x41deb6
mov byte [ebp - 0x13c], 0
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], eax
jmp 0x41decf
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 0x41def5
mov byte [ebp - 0x12c], 0
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
jmp 0x41df0e
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 0x41df34
mov byte [ebp - 0x11c], 0
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
jmp 0x41df4d
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 0x41df73
mov byte [ebp - 0x10c], 0
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
jmp 0x41df8c
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 0x41dfb2
mov byte [ebp - 0xfc], 0
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
jmp 0x41dfcb
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 0x41dff1
mov byte [ebp - 0xec], 0
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
jmp 0x41e00a
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 0x41e030
mov byte [ebp - 0xdc], 0
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
jmp 0x41e049
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, 0x5a2a20
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 0x3cde8], 0
mov dword [eax + 0x3cdd4], 6
jmp case.default.0x4212cf
mov ecx, edi
mov dword [esi + 0x3cd20], 0
call fcn.004320a0
mov dword [ebp - 0x178], eax
test eax, eax
je case.default.0x4212cf
imul edx, dword [edi + 0x34], 0x9c
push dword [ebp - 0x178]
add edx, dword [edi + 0x2c]
mov ecx, dword [edx + 0x6c]
mov dword [esi + 0xadf90], ecx
mov ecx, esi
mov eax, dword [edx + 0x70]
mov dword [esi + 0xadf94], eax
mov eax, dword [edx + 0x68]
mov dword [esi + 0xae024], eax
mov dword [esi + 0xadf8c], 0
call fcn.004224f0
cmp byte [0x5a4a70], 0
mov byte [esi + 0xf1a8], 1
je 0x41e105
cmp byte [esi + 0xade05], 0
je 0x41e0fe
cmp byte [esi + 0xadf60], 0
jne 0x41e0fe
mov byte [esi + 0xae03f], 1
mov byte [0x5a4a70], 0
mov dword [esi + 0xae028], 0
lea eax, [esi + 0xadf98]
mov dword [ebp - 0x19c], eax
lea edx, [esi + 0xadfac]
mov dword [eax], 0xffffffff
xor eax, eax
mov dword [esi + 0xadf9c], 0xffffffff
mov dword [esi + 0xadfa0], 0xffffffff
mov dword [esi + 0xadfa4], 0xffffffff
mov dword [esi + 0xadfa8], 0xffffffff
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x17c], 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 0x41e1da
inc dword [esi + 0xae028]
mov ecx, edx
call fcn.00459860
mov ecx, edi
call fcn.004320a0
test eax, eax
je 0x41e1b2
push dword [eax + 0x10]
mov ecx, edi
call fcn.004320c0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004596e0
mov ecx, dword [ebp - 0x17c]
call fcn.00459a00
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0x17c]
inc eax
add dword [ebp - 0x19c], 4
add edx, 0x18
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x17c], edx
cmp eax, 5
jl 0x41e160
cmp dword [esi + 0xae024], 0
je 0x41e1e9
dec dword [esi + 0xae028]
push 0
mov ecx, esi
call fcn.004255e0
mov dword [esi + 0x3cdd4], 5
mov dword [esi + 0x3cde8], 0
jmp case.default.0x4212cf
mov eax, dword [esi + 0x3ce58]
lea edx, [esi + 0x3cd18]
mov dword [esi + 0x13928], eax
mov byte [esi + 0xae089], 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 - 0x173], al
mov byte [ebp - 0x182], al
mov byte [ebp - 0x181], al
nop dword [eax]
nop dword [eax + eax]
xor al, al
mov byte [ebp - 0x172], al
mov byte [ebp - 0x171], al
mov eax, dword [edx + 8]
cmp eax, dword [edx + 4]
je 0x41ffa4
mov edi, eax
lea eax, [eax + 1]
shl edi, 5
add edi, dword [edx]
mov dword [ebp - 0x190], edi
mov dword [edx + 8], eax
je 0x41ffa4
mov ecx, dword [edi]
lea eax, [ecx - 1]
cmp eax, 0x29
ja case.0x41e2d1.16
jmp dword [eax*4 + 0x421c38]
cmp byte [esi + 0xadf5e], 0
je 0x41e327
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.004224f0
cmp byte [esi + 0xf19c], 0
jne 0x41f0a5
cmp byte [esi + 0xadf5e], 0
je 0x41e311
call fcn.0041d7a0
mov byte [esi + 0xf1a8], 1
mov dword [esi + 0x3cde8], 0x78
jmp 0x41f0a5
mov dword [esi + 0x3cde8], 0x6e
mov cl, byte [ebp - 0x172]
jmp 0x41f0b1
mov ecx, dword [edi + 0x1c]
mov al, 1
mov byte [ebp - 0x172], al
test ecx, ecx
js 0x41e38f
cmp ecx, 0x1f40
jge 0x41e38f
mov eax, ecx
shl eax, 5
mov eax, dword [eax + esi + 0x6b68c]
dec eax
cmp eax, 8
ja case.0x41e365.3
jmp dword [eax*4 + 0x421ce0]
mov dword [esi + 0x1392c], ecx
mov cl, byte [ebp - 0x172]
jmp 0x41f0b1
push 0
push dword [edi + 0xc]
push ecx
mov ecx, esi
call fcn.004221a0
jmp 0x41f0a5
push 0x4b1c10
mov ecx, esi
call fcn.00440c90
jmp 0x41f0a5
mov edx, dword [edi + 0x1c]
mov cl, 1
mov byte [ebp - 0x172], cl
test edx, edx
js 0x41e38f
cmp edx, 0x1f40
jge 0x41e38f
mov eax, edx
shl eax, 5
mov eax, dword [eax + esi + 0x6b68c]
dec eax
cmp eax, 8
ja case.0x41e3d4.3
movzx eax, byte [eax + 0x421d10]
jmp dword [eax*4 + 0x421d04]
mov dword [esi + 0x3ce58], 0xffffffff
cmp byte [esi + 0xae040], 0
jne 0x41e3e5
jmp case.0x41e3d4.3
xor ecx, ecx
lea eax, [esi + 0x3ce5c]
nop dword [eax + eax]
cmp dword [eax], edx
je 0x41e40d
inc ecx
add eax, 4
cmp ecx, 3
jl 0x41e400
cmp ecx, 3
jne 0x41e43e
xor ecx, ecx
lea edx, [esi + 0x3ce68]
nop word [eax + eax]
cmp dword [edx - 0xc], 0xffffffff
je 0x41e42d
mov eax, dword [edx]
cmp eax, dword [edi + 0xc]
je 0x41e43b
inc ecx
add edx, 4
cmp ecx, 3
jl 0x41e420
jmp 0x41f0a5
cmp ecx, 3
jge 0x41f0a5
push ecx
mov ecx, esi
call fcn.00422440
jmp 0x41f0a5
mov al, 1
lea ecx, [esi + 0x3ce68]
mov byte [ebp - 0x172], al
xor edx, edx
cmp dword [ecx - 0xc], 0xffffffff
je 0x41e46e
mov eax, dword [edi + 0xc]
cmp eax, dword [ecx]
je 0x41e477
inc edx
add ecx, 4
cmp edx, 3
jl 0x41e461
mov dword [ebp - 0x178], edx
cmp edx, 3
jne 0x41e493
push 0x4b1c2c
mov ecx, esi
call fcn.00440c90
jmp 0x41f0a5
mov ecx, edx
shl ecx, 7
add ecx, esi
mov dword [ebp - 0x194], ecx
mov eax, dword [ecx + 0xef68]
cmp eax, 0xffffffff
je 0x41e4b1
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.0041d960
mov ecx, dword [ebp - 0x194]
add eax, edi
mov dword [ecx + 0xef60], eax
lea ecx, [ebp - 0x274]
call fcn.00459660
mov edi, dword [esi + 0x3cf84]
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 0
call fcn.004597c0
mov eax, dword [ebp - 0x194]
mov dword [eax + 0xef74], edi
mov eax, dword [ebp - 0x190]
mov edx, dword [eax + 0x1c]
cmp edx, 0xffffffff
je 0x41e546
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 0x41f0a5
mov ecx, dword [edi + 0x1c]
test ecx, ecx
js 0x41e38f
cmp ecx, 0x1f40
jge 0x41e38f
mov eax, ecx
shl eax, 5
cmp dword [eax + esi + 0x6b68c], 6
je 0x41e592
push str.SCRIPT:
mov ecx, esi
call fcn.00440c90
jmp 0x41f0a5
push dword [edi + 0x10]
push ecx
mov ecx, esi
call fcn.00425a60
jmp 0x41f0a5
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3ceb4], eax
cmp dword [edi + 0x1c], 0xffffffff
mov byte [ebp - 0x172], 1
je 0x41e5c5
push eax
mov ecx, esi
call fcn.0041a720
jmp 0x41f0a5
cmp byte [esi + 0xae040], 0
jne 0x41e5c5
lea ecx, [esi + 0x5fd4]
call fcn.004475e0
jmp 0x41f0a5
cmp byte [esi + 0xadf5e], 0
mov cl, 1
mov byte [ebp - 0x172], cl
je 0x41e5fd
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3ce9c], eax
jmp 0x41f0b1
push dword [edi + 0x1c]
mov ecx, esi
call fcn.00436590
jmp 0x41f0a5
cmp byte [esi + 0xadf5e], 0
mov cl, 1
mov byte [ebp - 0x172], cl
je 0x41e62b
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3ce9c], eax
jmp 0x41f0b1
push dword [edi + 0x1c]
mov ecx, esi
call fcn.00436020
jmp 0x41f0a5
cmp byte [esi + 0xadf5e], 0
mov cl, 1
mov byte [ebp - 0x172], cl
je 0x41e65a
mov dword [esi + 0x3ce9c], 0xffffffff
jmp 0x41f0b1
push 0xffffffffffffffff
mov ecx, esi
call fcn.00436590
jmp 0x41f0a5
cmp byte [esi + 0xadf5e], 0
mov cl, 1
mov byte [ebp - 0x172], cl
je 0x41e688
mov dword [esi + 0x3ce9c], 0xffffffff
jmp 0x41f0b1
push 0xffffffffffffffff
mov ecx, esi
call fcn.00436020
jmp 0x41f0a5
cmp byte [ebp - 0x181], 0
mov cl, 1
mov byte [ebp - 0x172], cl
jne 0x41e6c6
cmp byte [esi + 0xadf5e], 0
jne 0x41e6c6
push dword [edi + 0x1c]
mov ecx, esi
call fcn.00436660
mov cl, byte [ebp - 0x172]
lea edx, [esi + 0x3cd18]
mov byte [ebp - 0x181], 1
jmp 0x41f0b1
cmp byte [esi + 0xadf5e], 0
mov cl, 1
mov byte [ebp - 0x172], cl
je 0x41e6f7
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3ceac], eax
mov byte [ebp - 0x181], cl
jmp 0x41f0b1
cmp byte [ebp - 0x181], 0
jne 0x41e6c6
push dword [edi + 0x1c]
mov ecx, esi
call fcn.004368c0
mov byte [ebp - 0x181], 1
jmp 0x41f0a5
cmp byte [esi + 0xadf5e], 0
mov cl, 1
mov byte [ebp - 0x172], cl
je 0x41e736
mov dword [esi + 0x3ceac], 0xffffffff
jmp 0x41f0b1
mov ecx, esi
call fcn.004369f0
jmp 0x41f0a5
cmp byte [esi + 0xadf5e], 0
mov cl, 1
mov byte [ebp - 0x172], cl
je 0x41e761
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3ceb0], eax
jmp 0x41f0b1
push ecx
push dword [edi + 0x1c]
mov ecx, esi
call fcn.00436b30
jmp 0x41f0a5
cmp byte [esi + 0xadf5e], 0
jne case.0x41e365.3
mov eax, dword [edi + 0x1c]
cmp eax, 0x16
ja case.0x41e365.3
movzx eax, byte [eax + 0x421d4c]
jmp dword [eax*4 + 0x421d1c]
push 1
mov ecx, esi
call fcn.00413d00
jmp 0x41f0a5
mov ecx, esi
call fcn.00413e30
mov byte [ebp - 0x173], 1
jmp 0x41f0a5
mov ecx, esi
call fcn.00412790
mov byte [ebp - 0x173], 1
jmp 0x41f0a5
push 0x80000000
push 1
mov ecx, esi
call fcn.00413250
jmp 0x41f0a5
push ecx
mov ecx, esi
call fcn.00414090
mov byte [ebp - 0x173], 1
jmp 0x41f0a5
push 0
mov ecx, esi
call fcn.00413d00
jmp 0x41f0a5
mov ecx, esi
call fcn.00412260
jmp 0x41f0a5
mov ecx, esi
call fcn.004136a0
jmp 0x41f0a5
mov ecx, esi
call fcn.00414f70
mov byte [ebp - 0x173], 1
jmp 0x41f0a5
mov ecx, esi
call fcn.00415160
mov byte [ebp - 0x173], 1
jmp 0x41f0a5
mov ecx, esi
call fcn.004152d0
mov byte [ebp - 0x173], 1
jmp 0x41f0a5
cmp byte [esi + 0xadf5e], 0
je 0x41e86f
mov eax, dword [edi + 0x14]
mov cl, byte [ebp - 0x172]
mov dword [esi + 0x1392c], eax
jmp 0x41f0b1
mov ecx, dword [edi + 0x1c]
mov byte [ebp - 0x173], 1
cmp ecx, 0x1d
ja case.0x41e889.8
movzx eax, byte [ecx + 0x421d90]
jmp dword [eax*4 + 0x421d64]
push dword [edi + 0x14]
mov ecx, esi
call fcn.00412c90
jmp 0x41f0a5
push dword [edi + 0x14]
mov ecx, esi
push 2
call fcn.00413250
jmp 0x41f0a5
push dword [edi + 0x14]
mov ecx, esi
push 1
call fcn.00413250
jmp 0x41f0a5
push dword [edi + 0x14]
mov ecx, esi
push 0
call fcn.00413a10
jmp 0x41f0a5
push dword [edi + 0x14]
mov ecx, esi
push 1
call fcn.00413a10
jmp 0x41f0a5
push dword [edi + 0x14]
mov ecx, esi
push 2
call fcn.00413a10
jmp 0x41f0a5
push dword [edi + 0x14]
mov ecx, esi
push 3
call fcn.00413a10
jmp 0x41f0a5
push dword [edi + 0x14]
lea eax, [ecx - 0xa]
mov ecx, esi
push eax
call fcn.004156c0
jmp 0x41f0a5
push dword [edi + 0x14]
lea eax, [ecx - 0x14]
mov ecx, esi
push eax
call fcn.004154f0
jmp 0x41f0a5
push dword [edi + 0x14]
push ecx
sub esp, 0x18
mov ecx, esp
push 0x4b1c88
call fcn.004596e0
lea eax, [ebp - 0x1b4]
push eax
call fcn.0045a7a0
add esp, 0x24
lea ecx, [ebp - 0x1b4]
call fcn.00459c80
push eax
mov ecx, esi
call fcn.00440c90
mov byte [ebp - 0x173], 0
jmp 0x41f0a5
mov eax, dword [edi + 0x1c]
add eax, 0xfffffff6
cmp eax, 0x82
ja case.0x41e365.3
movzx eax, byte [eax + 0x421e84]
jmp dword [eax*4 + 0x421db0]
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x17c], ecx
call fcn.0045b020
movzx edx, ax
mov dword [ebp - 0x18c], edx
test ecx, ecx
jle 0x41e9b1
mov eax, edx
cdq
idiv ecx
mov dword [ebp - 0x18c], edx
mov dword [esi + 0x3ced4], edx
jmp 0x41f0a5
mov eax, dword [edi + 0x14]
sub eax, 0
je 0x41e9f3
sub eax, 1
je 0x41e9e0
sub eax, 1
jne 0x41e9fc
mov ecx, esi
mov byte [esi + 0xadf5c], al
call fcn.004432c0
jmp 0x41f0a5
mov ecx, esi
mov byte [esi + 0xadf5d], 0
call fcn.004432c0
jmp 0x41f0a5
mov word [esi + 0xadf5c], 0
mov ecx, esi
call fcn.004432c0
jmp 0x41f0a5
mov edx, dword [edi + 0x14]
xor ecx, ecx
cmp byte [esi + 0xadf5c], cl
mov eax, 2
mov dword [ebp - 0x17c], edx
cmovne ecx, eax
xor eax, eax
cmp byte [esi + 0xadf5d], al
setne al
or ecx, eax
mov dword [ebp - 0x18c], ecx
cmp edx, 0x3e7
ja 0x41f0a5
push ecx
push edx
mov ecx, esi
call fcn.00421fb0
jmp 0x41f0a5
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x17c], eax
cmp eax, 0x3e7
ja case.0x41e365.3
push eax
mov ecx, esi
call fcn.004220b0
mov cl, al
mov dword [ebp - 0x18c], eax
and cl, 1
shr eax, 1
mov byte [esi + 0xadf5d], cl
and al, 1
mov ecx, esi
mov byte [esi + 0xadf5c], al
call fcn.004432c0
jmp 0x41f0a5
push dword [edi + 0x14]
mov ecx, esi
call fcn.0043a760
jmp 0x41f0a5
mov ecx, esi
call fcn.0043a800
jmp 0x41f0a5
xor edi, edi
nop
push edi
mov ecx, esi
call fcn.00422440
inc edi
cmp edi, 3
jl 0x41eab0
jmp 0x41f0a5
mov ecx, esi
call fcn.00436b10
jmp 0x41f0a5
mov ecx, esi
call fcn.00436c20
jmp 0x41f0a5
xor edx, edx
lea ecx, [esi + 0x3ce68]
cmp dword [ecx - 0xc], 0xffffffff
je 0x41eaf0
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x41eaf9
inc edx
add ecx, 4
cmp edx, 3
jl 0x41eae3
cmp edx, 3
jne 0x41eb0f
push 0x4b1cb4
mov ecx, esi
call fcn.00440c90
jmp 0x41f0a5
mov eax, edx
shl eax, 7
mov byte [eax + esi + 0xef6c], 1
mov dword [esi + edx*4 + 0x3ce8c], 1
jmp 0x41f0a5
xor edx, edx
lea ecx, [esi + 0x3ce68]
cmp dword [ecx - 0xc], 0xffffffff
je 0x41eb41
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x41eb4a
inc edx
add ecx, 4
cmp edx, 3
jl 0x41eb34
cmp edx, 3
jne 0x41eb60
push 0x4b1cec
mov ecx, esi
call fcn.00440c90
jmp 0x41f0a5
mov eax, edx
shl eax, 7
mov byte [eax + esi + 0xef6c], 0
mov dword [esi + edx*4 + 0x3ce8c], 0
jmp 0x41f0a5
xor edx, edx
lea ecx, [esi + 0x3ce68]
cmp dword [ecx - 0xc], 0xffffffff
je 0x41eb92
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x41eb9b
inc edx
add ecx, 4
cmp edx, 3
jl 0x41eb85
cmp edx, 3
jne 0x41ebb1
push 0x4b1d24
mov ecx, esi
call fcn.00440c90
jmp 0x41f0a5
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.0041da40
mov ecx, dword [ebp - 0x188]
add eax, edi
mov dword [ecx + esi + 0xef60], eax
jmp 0x41f0a5
xor edx, edx
lea ecx, [esi + 0x3ce68]
cmp dword [ecx - 0xc], 0xffffffff
je 0x41ec05
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x41ec0e
inc edx
add ecx, 4
cmp edx, 3
jl 0x41ebf8
cmp edx, 3
jne 0x41ec24
push 0x4b1d5c
mov ecx, esi
call fcn.00440c90
jmp 0x41f0a5
shl edx, 7
mov ecx, 0x1e
mov dword [edx + esi + 0xef70], 2
jmp 0x41ebc4
xor edx, edx
lea ecx, [esi + 0x3ce68]
cmp dword [ecx - 0xc], 0xffffffff
je 0x41ec4e
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x41ec57
inc edx
add ecx, 4
cmp edx, 3
jl 0x41ec41
cmp edx, 3
jne 0x41ec6d
push 0x4b1d98
mov ecx, esi
call fcn.00440c90
jmp 0x41f0a5
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 0x41f0a5
xor edx, edx
lea ecx, [esi + 0x3ce68]
nop
cmp dword [ecx - 0xc], 0xffffffff
je 0x41ecad
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x41ecb6
inc edx
add ecx, 4
cmp edx, 3
jl 0x41eca0
cmp edx, 3
jne 0x41eccc
push 0x4b1c2c
mov ecx, esi
call fcn.00440c90
jmp 0x41f0a5
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.0041a4a0
push 0
push 0xc
push str.kiaiyuge_mask.kg
mov ecx, esi
call fcn.0041a4a0
jmp 0x41f0a5
xor edx, edx
lea ecx, [esi + 0x3ce68]
nop dword [eax]
cmp dword [ecx - 0xc], 0xffffffff
je 0x41ed3d
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x41ed46
inc edx
add ecx, 4
cmp edx, 3
jl 0x41ed30
cmp edx, 3
jne 0x41ed5c
push 0x4b1c2c
mov ecx, esi
call fcn.00440c90
jmp 0x41f0a5
mov eax, edx
shl eax, 7
add eax, 0xef6d
add eax, esi
cmp byte [eax], 0
jne 0x41ed7e
push 0x4b1dd0
mov ecx, esi
call fcn.00440c90
jmp 0x41f0a5
mov byte [eax], 0
mov dword [esi + edx*4 + 0x3ce8c], 0
nop dword [eax]
cmp byte [esi + 0xae040], 0
jne 0x41ed90
lea ecx, [esi + 0x52b4]
call fcn.004475e0
lea ecx, [esi + 0x3334]
call fcn.004475e0
jmp 0x41f0a5
push 0
mov ecx, esi
call fcn.00422f60
jmp 0x41f0a5
mov ecx, esi
call fcn.004230d0
jmp 0x41f0a5
push dword [edi + 0x14]
mov ecx, esi
call fcn.004128e0
jmp 0x41f0a5
mov ecx, esi
call fcn.00412ad0
lea ecx, [ebp - 0x28c]
call fcn.00459660
lea ecx, [ebp - 0x28c]
mov dword [esi + 0x3cf98], 0
mov byte [ebp - 4], 0
call fcn.004597c0
jmp 0x41f0a5
cmp byte [esi + 0xadf5e], 0
jne case.0x41e365.3
mov edx, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
call fcn.004081d0
call fcn.00408b30
mov dword [esi + 0x3cde8], 0x4b0
jmp 0x41f0a5
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.0x41e365.3
cmp eax, 3
jge case.0x41e365.3
push dword [ebp + eax*4 - 0x20]
mov ecx, esi
call fcn.00415c20
jmp 0x41f0a5
mov ecx, esi
call fcn.00412ad0
lea ecx, [ebp - 0x2a4]
call fcn.00459660
lea ecx, [ebp - 0x2a4]
mov dword [esi + 0x3cf98], 0
mov byte [ebp - 4], 0
call fcn.004597c0
jmp 0x41f0a5
push dword [edi + 0x14]
mov ecx, esi
call fcn.00412f00
jmp 0x41f0a5
mov ecx, esi
call fcn.004254e0
mov byte [esi + 0xae070], 0
mov byte [esi + 0xf32c], 0
mov byte [esi + 0xf115], 0
jmp 0x41f0a5
mov ecx, esi
call fcn.004254e0
cmp byte [esi + 0xade38], 0
mov byte [esi + 0xae070], 1
jne 0x41eefe
mov byte [esi + 0xf32c], 0
mov cl, 1
mov byte [esi + 0xf115], 0
jmp case.0x41e3d4.3
mov byte [esi + 0xf32c], 1
mov byte [esi + 0xf115], 1
mov cl, 1
jmp case.0x41e3d4.3
mov eax, dword [edi + 0x14]
mov cl, byte [ebp - 0x172]
mov dword [esi + 0x3ceb8], eax
jmp 0x41f0b1
cmp byte [esi + 0xadf5e], 0
je 0x41ef71
push dword [edi + 0x14]
call fcn.0043c220
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.0043c160
mov ecx, dword [ebp - 0x188]
imul eax, edi, 0x64
sub ecx, eax
push ecx
mov ecx, esi
call fcn.0043c1c0
jmp 0x41f0a5
mov ecx, esi
call fcn.0043c000
mov ecx, esi
imul edi, eax, 0x64
call fcn.0043c050
add eax, edi
push eax
mov eax, dword [ebp - 0x190]
push dword [eax + 0x14]
call fcn.0040a380
push 0xf
mov ecx, esi
call fcn.0041cb90
jmp 0x41f0a5
mov ecx, esi
call fcn.0043c000
mov ecx, esi
imul edi, eax, 0x64
call fcn.0043c050
lea ecx, [edi + eax]
mov eax, dword [ebp - 0x190]
mov eax, dword [eax + 0x14]
add eax, ecx
cmp byte [esi + 0xadf5e], 0
je 0x41f008
push eax
call fcn.0043c220
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.0043c160
mov ecx, dword [ebp - 0x188]
imul eax, edi, 0x64
sub ecx, eax
push ecx
mov ecx, esi
call fcn.0043c160
jmp 0x41f0a5
push ecx
push eax
call fcn.0040a380
push 0xf
mov ecx, esi
call fcn.0041cb90
jmp 0x41f0a5
push dword [edi + 0x14]
mov ecx, esi
call fcn.0043c2d0
jmp 0x41f0a5
push dword [edi + 0x14]
mov ecx, esi
call fcn.0043c3f0
jmp 0x41f0a5
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x188], eax
test eax, eax
js 0x41f0de
cmp eax, 2
jge 0x41f0de
lea ecx, [ebp - 0x2bc]
call fcn.00459660
mov eax, dword [ebp - 0x188]
lea ecx, [ebp - 0x2bc]
mov dword [esi + 0x3cf40], eax
mov byte [ebp - 4], 0
call fcn.004597c0
lea ecx, [ebp - 0x2d4]
call fcn.00459660
mov edi, dword [esi + 0x3cf34]
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 0
call fcn.004597c0
test edi, edi
mov ecx, esi
setne al
movzx eax, al
push eax
call fcn.0043b680
mov cl, byte [ebp - 0x172]
lea edx, [esi + 0x3cd18]
mov ah, byte [ebp - 0x171]
mov al, byte [esi + 0xadf5e]
test al, al
je 0x41f0c9
test ah, ah
jne 0x41ffb5
test cl, cl
jne 0x41e290
test al, al
jne 0x41e290
jmp 0x41ffb5
lea ecx, [ebp - 0x1cc]
call fcn.00459660
mov byte [ebp - 4], 6
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4b1dfc
call fcn.004596e0
lea eax, [ebp - 0x1cc]
push eax
call fcn.0045a7a0
add esp, 0x20
lea ecx, [ebp - 0x1cc]
call fcn.00459c80
push eax
mov ecx, esi
call fcn.00440c90
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 4], 0
call fcn.004597c0
jmp 0x41f0a5
cmp byte [0x4db96b], 0
mov cl, byte [ebp - 0x172]
jne 0x41f0b1
mov eax, dword [esi + 0xf2dc]
add eax, 0x3c
mov dword [esi + 0xf1f0], 1
mov byte [0x4db96b], 1
mov dword [0x5a2b24], eax
jmp 0x41f0b1
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x188], eax
test eax, eax
js 0x41f1bb
cmp eax, 2
jge 0x41f1bb
lea ecx, [ebp - 0x2ec]
call fcn.00459660
mov eax, dword [ebp - 0x188]
lea ecx, [ebp - 0x2ec]
mov dword [esi + 0x3cf44], eax
mov byte [ebp - 4], 0
call fcn.004597c0
cmp dword [edi + 0x14], 1
mov ecx, esi
sete al
movzx eax, al
push eax
call fcn.00403320
jmp 0x41f0a5
lea ecx, [ebp - 0x1fc]
call fcn.00459660
mov byte [ebp - 4], 9
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4b1e30
call fcn.004596e0
lea eax, [ebp - 0x1fc]
push eax
call fcn.0045a7a0
add esp, 0x20
lea ecx, [ebp - 0x1fc]
call fcn.00459c80
push eax
mov ecx, esi
call fcn.00440c90
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0
call fcn.004597c0
jmp 0x41f0a5
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 0
push 0
call fcn.00414270
jmp 0x41f0a5
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 0
push 1
call fcn.00414270
jmp 0x41f0a5
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 0
push 2
call fcn.00414270
jmp 0x41f0a5
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 0
push 3
call fcn.00414270
jmp 0x41f0a5
mov edi, dword [edi + 0x14]
mov dword [ebp - 0x178], edi
test edi, edi
js 0x41f317
cmp edi, 0x3e5
jge 0x41f317
mov ecx, esi
cmp edi, 0x64
jge 0x41f295
call fcn.004458c0
jmp 0x41f2eb
push edi
call fcn.004220b0
lea ecx, [edi + 1]
mov dword [ebp - 0x194], eax
push ecx
mov ecx, esi
call fcn.004220b0
lea ecx, [edi + 2]
mov dword [ebp - 0x188], eax
push ecx
mov ecx, esi
call fcn.004220b0
mov ecx, dword [ebp - 0x178]
mov edi, eax
add ecx, 3
push ecx
mov ecx, esi
call fcn.004220b0
push eax
push edi
push dword [ebp - 0x188]
mov ecx, esi
push dword [ebp - 0x194]
call fcn.00445900
mov edi, dword [ebp - 0x178]
lea ecx, [ebp - 0x304]
call fcn.00459660
lea ecx, [ebp - 0x304]
mov dword [esi + 0x3cf50], edi
mov byte [ebp - 4], 0
call fcn.004597c0
mov byte [ebp - 0x182], 1
jmp 0x41f0a5
push 0x4b1e50
mov ecx, esi
call fcn.00440c90
jmp 0x41f0a5
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x178], eax
test eax, eax
js 0x41f317
cmp eax, 0x3e5
jge 0x41f317
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 0x41f396
mov edi, dword [esi + 0xadb84]
xor ecx, ecx
mov dword [ebp - 0x190], edi
xor edx, edx
mov edi, dword [esi + 0xadb88]
mov dword [ebp - 0x194], edi
mov edi, dword [ebp - 0x178]
jmp 0x41f3e9
push edi
mov ecx, esi
call fcn.004220b0
lea ecx, [edi + 1]
mov dword [ebp - 0x178], eax
push ecx
mov ecx, esi
call fcn.004220b0
lea ecx, [edi + 2]
mov dword [ebp - 0x180], eax
push ecx
mov ecx, esi
call fcn.004220b0
lea ecx, [edi + 3]
mov dword [ebp - 0x190], eax
push ecx
mov ecx, esi
call fcn.004220b0
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x180]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x188]
push eax
push dword [ebp - 0x194]
push dword [ebp - 0x190]
push edx
push ecx
mov ecx, esi
call fcn.00445960
lea ecx, [ebp - 0x31c]
call fcn.00459660
lea ecx, [ebp - 0x31c]
mov dword [esi + 0x3cf50], edi
mov byte [ebp - 4], 0
call fcn.004597c0
mov byte [ebp - 0x182], 1
jmp 0x41f0a5
sub esp, 0xc
mov ecx, esp
push 1
call fcn.0045ac80
mov eax, dword [edi + 0x14]
lea eax, [eax + eax*2]
add eax, 0x1555f
lea ecx, [esi + eax*4]
call fcn.0045aca0
jmp 0x41f0a5
cmp byte [esi + 0xadf5f], 0
je case.0x41e2d1.38
mov ecx, esi
call fcn.004254e0
cmp byte [esi + 0xade38], 0
mov byte [esi + 0xae070], 1
jne 0x41f483
mov byte [esi + 0xf115], 0
mov byte [esi + 0xf32c], 0
jmp 0x41f491
mov byte [esi + 0xf115], 1
mov byte [esi + 0xf32c], 1
lea ecx, [esi + 0xf2fc]
mov dword [esi + 0x3cde8], 0
call fcn.00405f50
mov ecx, esi
call fcn.0041cc10
cmp byte [esi + 0xadf5e], 0
mov byte [esi + 0xae089], 1
mov word [esi + 0xadf5f], 0
mov byte [esi + 0xadf61], 0
mov word [esi + 0xadf5c], 0
je 0x41f4db
call fcn.0041d7a0
mov cl, byte [ebp - 0x172]
lea edx, [esi + 0x3cd18]
mov ah, 1
jmp 0x41f0b7
mov cl, 1
jmp 0x41f0b1
mov ecx, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
mov dword [esi + ecx*4 + 0xadf64], eax
mov cl, byte [ebp - 0x172]
jmp 0x41f0b1
cmp byte [esi + 0xadf5f], 0
je case.0x41e365.3
mov dword [esi + 0xadf5f], 0x1000000
cmp byte [esi + 0xae040], 0
jne 0x41f524
lea ecx, [esi + 0xf2fc]
call fcn.00405f50
mov ecx, esi
call fcn.00403220
jmp 0x41f0a5
xor ecx, ecx
mov dword [ebp - 0x178], 6
lea edi, [esi + 0x5557c]
mov esi, ecx
nop dword [eax + eax]
push 1
lea ecx, [ebp - 0x22c]
call fcn.0045ac80
mov ecx, eax
call fcn.0045ac50
sub esp, 0xc
mov ecx, esp
push eax
call fcn.0045ac80
mov ecx, edi
call fcn.0045acd0
test al, al
je 0x41f58b
inc esi
add edi, 0xc
sub dword [ebp - 0x178], 1
jne 0x41f560
xor eax, eax
mov dword [ebp - 0x190], esi
mov esi, dword [ebp - 0x198]
lea ecx, [ebp - 0x3a0]
cmp dword [ebp - 0x190], 6
sete al
mov dword [ebp - 0x180], eax
mov dword [esi + 0x3ced4], eax
call fcn.00459660
mov eax, dword [ebp - 0x180]
sub esp, 0xc
mov ecx, esp
mov dword [esi + 0x3cee0], eax
push eax
call fcn.0045ac80
lea ecx, [esi + 0x6712c]
call fcn.0045aca0
lea ecx, [ebp - 0x3a0]
mov byte [ebp - 4], 0
call fcn.004597c0
mov cl, 1
jmp case.0x41e3d4.3
xor ecx, ecx
mov dword [ebp - 0x178], 6
lea edi, [esi + 0x5557c]
mov esi, ecx
push 1
lea ecx, [ebp - 0x328]
call fcn.0045ac80
mov ecx, eax
call fcn.0045ac50
sub esp, 0xc
mov ecx, esp
push eax
call fcn.0045ac80
mov ecx, edi
call fcn.0045acd0
test al, al
je 0x41f63d
inc esi
add edi, 0xc
sub dword [ebp - 0x178], 1
jne 0x41f612
mov dword [ebp - 0x190], esi
xor eax, eax
mov ecx, dword [ebp - 0x190]
cmp ecx, 6
mov esi, dword [ebp - 0x198]
mov cl, 1
sete al
mov dword [esi + 0x3ced4], eax
jmp case.0x41e3d4.3
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 1
push 0
call fcn.00414270
jmp 0x41f0a5
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 1
push 1
call fcn.00414270
jmp 0x41f0a5
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 1
push 2
call fcn.00414270
jmp 0x41f0a5
push dword [edi + 0x10]
mov ecx, esi
push dword [edi + 0x14]
push 1
push 3
call fcn.00414270
jmp 0x41f0a5
cmp byte [esi + 0xadf5e], 0
je case.0x41e365.3
call fcn.0041d7a0
jmp 0x41f0a5
lea ecx, [ebp - 0x1e4]
call fcn.00459660
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x340]
mov eax, dword [edi + 0x14]
mov edi, dword [edi + 0x10]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x194], edi
call fcn.00459660
mov eax, dword [esi + 0x3cf64]
lea ecx, [ebp - 0x340]
mov dword [ebp - 0x178], eax
mov byte [ebp - 4], 0xe
call fcn.004597c0
mov ecx, dword [ebp - 0x180]
cmp ecx, 0xffffffff
jne 0x41f746
mov eax, 0x10624dd3
imul dword [ebp - 0x178]
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp edi, 0xffffffff
jne 0x41f770
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 - 0x194], edi
cmp ecx, 9
ja 0x41f7b6
cmp edi, 0xa
ja 0x41f7b6
imul edi, ecx, 0x3e8
lea ecx, [ebp - 0x358]
add edi, dword [ebp - 0x194]
call fcn.00459660
lea ecx, [ebp - 0x358]
mov dword [esi + 0x3cf64], edi
call fcn.004597c0
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0
call fcn.004597c0
jmp 0x41f0a5
push edi
push ecx
sub esp, 0x18
mov ecx, esp
push str.EF_C0140__d__d_:
call fcn.004596e0
lea eax, [ebp - 0x1e4]
push eax
call fcn.0045a7a0
add esp, 0x24
lea ecx, [ebp - 0x1e4]
call fcn.00459c80
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0
call fcn.004597c0
jmp 0x41f0a5
mov cl, 1
mov dword [esi + 0x1392c], 0x80000001
jmp 0x41f0b1
mov cl, 1
mov dword [esi + 0x1392c], 0x80000000
jmp 0x41f0b1
cmp byte [esi + 0xadf5e], 0
mov byte [ebp - 0x173], 1
je 0x41f83b
mov eax, dword [edi + 0x1c]
mov cl, byte [ebp - 0x172]
mov dword [esi + 0x1392c], eax
jmp 0x41f0b1
push dword [edi + 0x1c]
mov ecx, esi
call fcn.00412c90
jmp 0x41f0a5
cmp byte [esi + 0xadf5e], 0
mov byte [ebp - 0x173], 1
je 0x41f86f
mov cl, byte [ebp - 0x172]
mov dword [esi + 0x1392c], 0x80000001
jmp 0x41f0b1
push 0x80000001
mov ecx, esi
call fcn.00412c90
jmp 0x41f0a5
cmp byte [esi + 0xadf5e], 0
mov byte [ebp - 0x173], 1
je 0x41f8a5
mov cl, byte [ebp - 0x172]
mov dword [esi + 0x1392c], 0x80000000
jmp 0x41f0b1
push 0x80000000
mov ecx, esi
call fcn.00412c90
jmp 0x41f0a5
mov eax, dword [edi + 0x1c]
cmp eax, 0xffffffff
jne 0x41f8d6
mov cl, byte [ebp - 0x172]
mov dword [esi + 0x3ce98], eax
mov byte [esi + 0xf20c], 0
jmp 0x41f0b1
test eax, eax
js 0x41f907
cmp eax, 0x1f40
jge 0x41f907
sub esp, 0xc
mov ecx, esp
push 1
call fcn.0045ac80
mov eax, dword [edi + 0x1c]
lea eax, [eax + eax*2]
lea eax, [eax + 0xf79f]
lea ecx, [esi + eax*4]
call fcn.0045aca0
lea edx, [esi + 0x3cd18]
push dword [edi + 0x14]
mov ecx, esi
push dword [edi + 0x10]
push dword [edi + 0x1c]
call fcn.00407810
cmp byte [esi + 0xadf5e], 0
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3ce98], eax
jne case.0x41e365.3
push 0xe
call fcn.0041cb90
mov dword [esi + 0x3ce10], 0
jmp 0x41f0a5
cmp byte [esi + 0xadf5e], 0
jne case.0x41e365.3
mov eax, dword [edi + 0x1c]
test eax, eax
jne 0x41f96c
mov cl, byte [ebp - 0x172]
mov dword [esi + 0x3cde8], 0xc8
jmp 0x41f0b1
lea ecx, [eax + eax*2]
mov byte [0x4db968], 1
mov dword [esi + 0x3cde8], 0x3e8
mov eax, 0x51eb851f
jle 0x41f9ac
add ecx, ecx
mov byte [0x4db933], 0
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, dword [esi + 0xf2dc]
mov dword [0x4db96c], eax
jmp 0x41f0a5
mov edi, dword [esi + 0xf2dc]
add ecx, ecx
imul ecx
mov byte [0x4db933], 1
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov dword [0x4db96c], edi
jmp 0x41f0a5
cmp byte [esi + 0xadf5e], 0
jne case.0x41e365.3
push 0xb
mov ecx, esi
call fcn.0041cb90
mov dword [esi + 0x3ce04], 0
mov dword [esi + 0x3cde8], 0
jmp 0x41f0a5
push dword [edi + 0x10]
mov al, 1
mov ecx, esi
push dword [edi + 0x1c]
mov byte [ebp - 0x172], al
call fcn.00421fb0
cmp dword [edi + 0x1c], 0x17
jne 0x41fa63
cmp dword [edi + 0x10], 1
jne 0x41fa2f
push 1
mov ecx, esi
call fcn.0043b680
jmp 0x41fa63
lea ecx, [ebp - 0x370]
call fcn.00459660
lea ecx, [ebp - 0x370]
mov dword [esi + 0x3cf34], 0
mov byte [ebp - 4], 0
call fcn.004597c0
cmp byte [esi + 0xadf5f], 0
jne 0x41fa63
mov ecx, esi
call fcn.0043bca0
cmp dword [edi + 0x1c], 0x14
jne 0x41f0a5
cmp dword [edi + 0x10], 0
mov ecx, esi
jne 0x41fabf
call fcn.0043b740
test al, al
je 0x41f0a5
lea ecx, [ebp - 0x388]
call fcn.00459660
lea ecx, [ebp - 0x388]
mov dword [esi + 0x3cf34], 0
mov byte [ebp - 4], 0
call fcn.004597c0
cmp byte [esi + 0xadf5f], 0
jne 0x41f0a5
mov ecx, esi
call fcn.0043bca0
jmp 0x41f0a5
push 1
jmp 0x41f0a0
mov edx, dword [edi + 0x1c]
lea eax, [ebp - 0x17c]
push eax
xor ecx, ecx
call fcn.0041d810
add esp, 4
test al, al
je 0x41f0a5
imul eax, dword [esi + 0x3cd4c], 0x9c
add eax, dword [esi + 0x3cd44]
cmp dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], eax
lea eax, [ebp - 0x18c]
push eax
je 0x41fbb7
mov edx, dword [edi + 0x10]
mov ecx, dword [edi + 8]
call fcn.0041d810
add esp, 4
test al, al
je 0x41f0a5
mov eax, dword [ebp - 0x18c]
cmp eax, 0xffffffff
je 0x41ef0c
push eax
mov eax, dword [ebp - 0x178]
lea ecx, [esi + 0x3cd18]
push dword [eax + 0x5c]
push dword [eax + 0x58]
call fcn.00432150
test al, al
je 0x41f0a5
lea edx, [esi + 0x3cd18]
mov dword [esi + 0x3cde8], 0xa
imul eax, dword [edx + 0x34], 0x9c
add eax, dword [edx + 0x2c]
je 0x41fba5
imul ecx, dword [edx + 0x34], 0x9c
mov eax, dword [edx + 0x2c]
cmp dword [ecx + eax + 0x64], 1
je 0x41fb8c
imul ecx, dword [edx + 0x34], 0x9c
cmp dword [ecx + eax + 0x64], 3
jne 0x41fba5
cmp byte [esi + 0xade05], 0
je 0x41fba5
cmp byte [esi + 0xadf60], 0
jne 0x41fba5
mov byte [esi + 0xae03f], 1
mov cl, byte [ebp - 0x172]
mov byte [esi + 0xae089], 1
jmp 0x41f0b1
mov edx, dword [edi + 0x14]
mov ecx, dword [edi + 0xc]
jmp 0x41fb12
mov edx, dword [edi + 0x1c]
lea eax, [ebp - 0x17c]
push eax
xor ecx, ecx
call fcn.0041d810
add esp, 4
test al, al
je 0x41f0a5
cmp dword [ebp - 0x17c], 0
je 0x41fbec
mov eax, dword [edi + 0x10]
jmp 0x41fbef
mov eax, dword [edi + 0x14]
cmp eax, 0xffffffff
je 0x41fbfa
mov dword [esi + 0x3cd20], eax
mov cl, 1
jmp case.0x41e3d4.3
cmp byte [esi + 0xadf5e], 0
mov cl, byte [ebp - 0x172]
mov ah, byte [ebp - 0x171]
jne 0x41f0b7
mov dword [esi + 0x3cde8], 0x6a
jmp 0x41f0b7
mov dword [esi + 0x3cde8], 0x1f4
xor cl, cl
mov ah, 1
jmp 0x41f0b7
mov edx, dword [edi + 0x10]
lea eax, [ebp - 0x17c]
mov ecx, dword [edi + 8]
push eax
call fcn.0041d810
add esp, 4
test al, al
je 0x41f0a5
mov edx, dword [edi + 0x14]
lea eax, [ebp - 0x18c]
mov ecx, dword [edi + 0xc]
push eax
call fcn.0041d810
add esp, 4
test al, al
je 0x41f0a5
mov eax, dword [edi + 0x1c]
cmp eax, 4
ja case.default.0x41fc82
jmp dword [eax*4 + 0x421f08]
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x18c]
add eax, ecx
mov cl, 1
mov dword [esi + 0x3ced4], eax
jmp case.0x41e3d4.3
mov eax, dword [ebp - 0x17c]
mov cl, 1
sub eax, dword [ebp - 0x18c]
mov dword [esi + 0x3ced4], eax
jmp case.0x41e3d4.3
mov eax, dword [ebp - 0x18c]
mov cl, 1
imul eax, dword [ebp - 0x17c]
mov dword [esi + 0x3ced4], eax
jmp case.0x41e3d4.3
mov ecx, dword [ebp - 0x18c]
test ecx, ecx
jne 0x41fcf4
push str.FN_DIV_n
mov ecx, esi
call fcn.00440c90
mov cl, 1
jmp case.0x41e3d4.3
mov eax, dword [ebp - 0x17c]
cdq
idiv ecx
mov cl, 1
mov dword [esi + 0x3ced4], eax
jmp case.0x41e3d4.3
cmp dword [edi + 8], 0
je 0x41fd23
push str.FN_MOV_n
mov ecx, esi
call fcn.00440c90
mov cl, 1
jmp case.0x41e3d4.3
mov eax, dword [edi + 0x10]
cmp eax, 0xffffffff
jne 0x41fd3e
mov eax, dword [ebp - 0x18c]
mov cl, 1
mov dword [esi + 0x3ced4], eax
jmp case.0x41e3d4.3
push dword [ebp - 0x18c]
mov ecx, esi
push eax
call fcn.00421fb0
mov cl, 1
jmp case.0x41e3d4.3
push eax
sub esp, 0x18
mov ecx, esp
push str.SC_FUNC_n
call fcn.004596e0
lea eax, [ebp - 0x1b4]
push eax
call fcn.0045a7a0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.00459c80
push eax
mov ecx, esi
call fcn.00440c90
mov cl, 1
jmp case.0x41e3d4.3
mov edx, dword [edi + 0x10]
lea eax, [ebp - 0x17c]
mov ecx, dword [edi + 8]
push eax
call fcn.0041d810
add esp, 4
test al, al
je 0x41f0a5
mov edx, dword [edi + 0x14]
lea eax, [ebp - 0x18c]
mov ecx, dword [edi + 0xc]
push eax
call fcn.0041d810
add esp, 4
test al, al
je 0x41f0a5
mov eax, dword [edi + 0x1c]
cmp eax, 5
ja case.default.0x41fdd2
jmp dword [eax*4 + 0x421f1c]
mov eax, dword [ebp - 0x17c]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
sete cl
mov dword [esi + 0x3ced4], ecx
mov cl, 1
jmp case.0x41e3d4.3
mov eax, dword [ebp - 0x17c]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setl cl
mov dword [esi + 0x3ced4], ecx
mov cl, 1
jmp case.0x41e3d4.3
mov eax, dword [ebp - 0x17c]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setg cl
mov dword [esi + 0x3ced4], ecx
mov cl, 1
jmp case.0x41e3d4.3
mov eax, dword [ebp - 0x17c]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setle cl
mov dword [esi + 0x3ced4], ecx
mov cl, 1
jmp case.0x41e3d4.3
mov eax, dword [ebp - 0x17c]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setge cl
mov dword [esi + 0x3ced4], ecx
mov cl, 1
jmp case.0x41e3d4.3
mov eax, dword [ebp - 0x17c]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setne cl
mov dword [esi + 0x3ced4], ecx
mov cl, 1
jmp case.0x41e3d4.3
push eax
sub esp, 0x18
mov ecx, esp
push str.SC_COMP_n
call fcn.004596e0
lea eax, [ebp - 0x1b4]
push eax
call fcn.0045a7a0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.00459c80
push eax
mov ecx, esi
call fcn.00440c90
mov cl, 1
jmp case.0x41e3d4.3
cmp byte [esi + 0xadf5e], 0
jne case.0x41e365.3
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3cea4], eax
cmp dword [edi + 0xc], 0
je 0x41ff2c
or dword [ebp - 0x19c], 1
lea ecx, [ebp - 0x40c]
call fcn.00459660
lea ecx, [esi + 0x67120]
call fcn.0045ac50
lea ecx, [ebp - 0x40c]
mov byte [ebp - 4], 0
mov edi, eax
call fcn.004597c0
push 1
lea ecx, [ebp - 0x220]
call fcn.0045ac80
mov ecx, eax
call fcn.0045ac50
cmp edi, eax
je 0x41ff2c
xor eax, eax
jmp 0x41ff31
mov eax, 1
mov byte [esi + 0x3cea8], al
mov eax, dword [ebp - 0x19c]
test al, 1
je 0x41ff4a
and eax, 0xfffffffe
mov dword [ebp - 0x19c], eax
push 0x18
mov ecx, esi
mov byte [0x5a2b29], 0
call fcn.0041cb90
mov ecx, esi
call fcn.004254e0
mov byte [esi + 0xae089], 1
jmp 0x41f0a5
push ecx
sub esp, 0x18
mov ecx, esp
push 0x4b1f1c
call fcn.004596e0
lea eax, [ebp - 0x1b4]
push eax
call fcn.0045a7a0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.00459c80
push eax
mov ecx, esi
call fcn.00440c90
jmp 0x41f0a5
mov byte [esi + 0xae089], 1
mov dword [esi + 0x3cde8], 0x1f4
cmp dword [esi + 0x1392c], 0xffffffff
je 0x420153
lea ecx, [ebp - 0x3b8]
call fcn.00459660
mov edi, dword [esi + 0x3cf50]
lea ecx, [ebp - 0x3b8]
mov dword [ebp - 0x178], edi
mov byte [ebp - 4], 0
call fcn.004597c0
mov ecx, dword [esi + 0x1392c]
mov dword [esi + 0x3ce58], ecx
cmp ecx, 0x1f3f
ja 0x42000a
mov eax, ecx
shl eax, 5
mov eax, dword [eax + esi + 0x6b68c]
jmp 0x42001c
xor eax, eax
cmp ecx, 0x80000001
setle al
lea eax, [eax*2 - 1]
sub eax, 1
je 0x42002a
sub eax, 5
jne 0x4200c9
push 0
push ecx
mov ecx, esi
call fcn.00419ac0
test al, al
jne 0x4200c0
lea ecx, [ebp - 0x214]
call fcn.00459660
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x3d0]
push dword [esi + 0x3ce58]
mov ecx, esi
push eax
call fcn.0041c2a0
mov ecx, eax
mov byte [ebp - 4], 0x18
call fcn.00459d10
push eax
sub esp, 0x18
mov ecx, esp
push 0x4b1f3c
call fcn.004596e0
lea eax, [ebp - 0x214]
push eax
call fcn.0045a7a0
add esp, 0x20
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x3d0]
call fcn.004597c0
lea ecx, [ebp - 0x214]
call fcn.00459c80
push eax
mov ecx, esi
call fcn.00440c90
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 0
call fcn.004597c0
nop word [eax + eax]
cmp byte [esi + 0xae040], 0
jne 0x4200c0
mov al, byte [ebp - 0x182]
mov ecx, esi
test al, al
jne 0x4200e7
push 0
push 0x1e
call fcn.00421fb0
mov ecx, esi
call fcn.004458c0
jmp 0x420153
cmp edi, 0x64
jge 0x4200f3
call fcn.004458c0
jmp 0x420149
push edi
call fcn.004220b0
lea ecx, [edi + 1]
mov dword [ebp - 0x188], eax
push ecx
mov ecx, esi
call fcn.004220b0
lea ecx, [edi + 2]
mov dword [ebp - 0x180], eax
push ecx
mov ecx, esi
call fcn.004220b0
mov ecx, dword [ebp - 0x178]
mov edi, eax
add ecx, 3
push ecx
mov ecx, esi
call fcn.004220b0
push eax
push edi
push dword [ebp - 0x180]
mov ecx, esi
push dword [ebp - 0x188]
call fcn.00445900
mov edi, dword [ebp - 0x178]
push edi
push 0x1e
mov ecx, esi
call fcn.00421fb0
mov al, byte [ebp - 0x173]
test al, al
je case.default.0x4212cf
mov dword [esi + 0x3cde8], 0x69
jmp case.default.0x4212cf
test dword [esi + 0xee04], 0x1000001
jne 0x42018c
push 0x4000
mov ecx, esi
call fcn.004014b0
test al, al
je 0x4201aa
cmp byte [esi + 0xade04], 0
mov byte [esi + 0xadf5d], 0
je 0x4201a3
mov byte [esi + 0xadf5c], 0
mov ecx, esi
call fcn.004432c0
push 2
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x4201c4
mov eax, dword [esi + 0xee04]
shr eax, 0xd
test al, 1
je 0x4201d4
mov ecx, esi
mov word [esi + 0xadf5c], 0
call fcn.004432c0
push 2
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x4201f1
push 0x2000
mov ecx, esi
call fcn.00401740
test al, al
je 0x4201f8
mov ecx, esi
call fcn.00412ad0
cmp byte [esi + 0xf21c], 0
jne case.default.0x4212cf
jmp case.0x4212cf.1
xor ecx, ecx
lea eax, [esi + 0xef68]
cmp byte [eax - 0x1c], 0
je 0x42021d
cmp dword [eax], 0xffffffff
jne 0x42022b
inc ecx
sub eax, 0xffffff80
cmp ecx, 3
jl 0x420212
jmp case.0x4212cf.1
cmp ecx, 3
jl case.default.0x4212cf
jmp case.0x4212cf.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.004224f0
mov byte [0x4db969], 0
call fcn.0041da80
test al, al
je 0x42026c
mov byte [esi + 0xf1a8], 1
call fcn.0041daa0
test al, al
je 0x420292
cmp byte [esi + 0xadf5d], 0
jne 0x42028b
mov eax, dword [esi + 0xee04]
shr eax, 0x19
test al, 1
je 0x420292
mov byte [esi + 0xf1a8], 1
mov dword [esi + 0x3cde8], 0x78
jmp case.default.0x4212cf
lea eax, [ebp - 0x180]
mov dword [ebp - 0x180], 0
push eax
push 0
lea ecx, [esi + 0xf348]
call fcn.004028d0
mov edi, eax
test edi, edi
je 0x42030e
cmp byte [esi + 0xadce0], 0
je 0x4202d5
mov ecx, esi
call fcn.00436b10
cmp byte [esi + 0xadf5d], 0
jne 0x42030e
mov eax, dword [esi + 0xee04]
shr eax, 0x19
test al, 1
jne 0x42030e
mov eax, dword [edi + 0x88]
cmp eax, dword [esi + 0xadc14]
je 0x42030e
mov ecx, dword [edi + 0x8c]
test ecx, ecx
je 0x42030e
push 0
push ecx
push eax
mov ecx, esi
call fcn.00436a10
mov dword [esi + 0x3cde8], 0x96
jmp case.default.0x4212cf
call fcn.0041daa0
test al, al
je 0x42034b
mov eax, dword [esi + 0xee04]
shr eax, 0x19
test al, 1
jne 0x420344
call fcn.0041da80
test al, al
jne 0x420344
cmp byte [esi + 0xadf5d], al
je 0x42034b
mov byte [esi + 0xf1a8], 1
push 1
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x420385
push 2
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x420385
push 0x1000000
mov ecx, esi
call fcn.00401740
test al, al
jne 0x420385
push 0x4000
mov ecx, esi
call fcn.004014b0
test al, al
je 0x42038c
mov byte [esi + 0xf1a8], 1
test dword [esi + 0xee04], 0x1004001
je 0x4203b6
cmp byte [esi + 0xade04], 0
mov byte [esi + 0xadf5d], 0
je 0x4203af
mov byte [esi + 0xadf5c], 0
mov ecx, esi
call fcn.004432c0
push 2
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x4203d0
mov eax, dword [esi + 0xee04]
shr eax, 0xd
test al, 1
je 0x4203e0
mov ecx, esi
mov word [esi + 0xadf5c], 0
call fcn.004432c0
cmp byte [esi + 0xf1a8], 0
jne 0x42043c
mov eax, dword [esi + 0xf2dc]
cmp dword [esi + 0x3bbf0], eax
jbe 0x420403
mov dword [esi + 0xf1e4], 0
jmp 0x420427
sub eax, dword [esi + 0xf1b4]
xor edx, edx
cmp byte [esi + 0xf204], dl
jne 0x42041b
div dword [esi + 0xade18]
jmp 0x420421
div dword [esi + 0xade1c]
mov dword [esi + 0xf1e4], eax
mov eax, dword [esi + 0xf1e4]
cmp eax, dword [esi + 0xf198]
jl 0x42043c
mov byte [esi + 0xf1a8], 1
cmp byte [esi + 0xf115], 0
je 0x42045a
mov ecx, esi
call fcn.004031e0
mov eax, dword [esi + 0xf310]
mov dword [esi + 0xf1ec], eax
jmp 0x420464
mov dword [esi + 0xf1ec], 0
cmp byte [esi + 0xf1a8], 0
je case.default.0x4212cf
cmp byte [esi + 0xf204], 0
mov ecx, dword [esi + 0xf2dc]
mov dword [esi + 0x3cde8], 0xc8
mov dword [esi + 0xf1dc], ecx
je 0x4204a3
mov eax, dword [esi + 0xade24]
add eax, ecx
mov dword [esi + 0xadf88], eax
jmp case.default.0x4212cf
mov eax, dword [esi + 0xade20]
add eax, ecx
mov dword [esi + 0xadf88], eax
jmp case.default.0x4212cf
lea ecx, [ebp - 0x188]
mov dword [ebp - 0x188], 0
push ecx
push 0
lea ecx, [esi + 0xf348]
call fcn.004028d0
mov edi, eax
mov dword [ebp - 0x178], edi
call fcn.00424a40
cmp byte [esi + 0xade38], 0
mov dword [ebp - 0x194], eax
jne 0x420500
mov byte [esi + 0xf115], 0
mov byte [esi + 0xf32c], 0
jmp 0x42050e
mov byte [esi + 0xf115], 1
mov byte [esi + 0xf32c], 1
cmp byte [esi + 0xf115], 0
je 0x42052c
mov ecx, esi
call fcn.004031e0
mov ecx, dword [esi + 0xf310]
mov dword [esi + 0xf1ec], ecx
jmp 0x420539
or eax, 0xffffffff
mov dword [esi + 0xf1ec], 0
cmp byte [esi + 0xadf5c], 0
mov dword [ebp - 0x17c], eax
jne 0x420551
cmp byte [esi + 0xadf5d], 0
je 0x4205ad
test dword [esi + 0xee04], 0x1004001
je 0x42057b
cmp byte [esi + 0xade04], 0
mov byte [esi + 0xadf5d], 0
je 0x420574
mov byte [esi + 0xadf5c], 0
mov ecx, esi
call fcn.004432c0
push 2
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x420ec0
mov eax, dword [esi + 0xee04]
shr eax, 0xd
test al, 1
jne 0x420ec0
cmp dword [ebp - 0x194], 0xca
je 0x420ec0
mov eax, dword [esi + 0xee04]
shr eax, 0x19
test al, 1
jne 0x4205c3
cmp byte [esi + 0xadf5d], 0
je 0x4205e6
call fcn.0041daa0
test al, al
je 0x4205e6
push 0
push 0x28
mov ecx, esi
mov dword [esi + 0x3cde8], 0x64
call fcn.00421fb0
jmp case.default.0x4212cf
test edi, edi
je 0x4206e3
lea ecx, [ebp - 0x3e8]
call fcn.00459660
mov edi, dword [esi + 0x3cf78]
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0
call fcn.004597c0
cmp edi, 1
mov edi, dword [ebp - 0x178]
jne 0x420672
mov ecx, dword [edi + 0x88]
test ecx, ecx
js 0x42062a
call fcn.00436c40
jmp 0x42062d
or eax, 0xffffffff
cmp byte [esi + 0xadcc2], 0
jne 0x4205cc
cmp ecx, dword [esi + 0xadc14]
je 0x4205cc
cmp dword [edi + 0x8c], 0
je 0x4205cc
cmp eax, 0xffffffff
je 0x4205cc
cmp byte [esi + eax + 0xadce2], 0
jne 0x4205cc
mov eax, dword [esi + 0xec6c]
lea ecx, [esi + 0xec6c]
mov eax, dword [eax]
call eax
test al, al
je 0x4205cc
cmp byte [esi + 0xadf5c], 0
je 0x4206e3
mov ecx, dword [edi + 0x88]
test ecx, ecx
js 0x42068c
call fcn.00436c40
jmp 0x42068f
or eax, 0xffffffff
cmp byte [esi + 0xadcc2], 0
jne 0x4206d1
cmp ecx, dword [esi + 0xadc14]
je 0x4206d1
cmp dword [edi + 0x8c], 0
je 0x4206d1
cmp eax, 0xffffffff
je 0x4206d1
cmp byte [esi + eax + 0xadce2], 0
jne 0x4206d1
mov eax, dword [esi + 0xec6c]
lea ecx, [esi + 0xec6c]
mov eax, dword [eax]
call eax
test al, al
jne 0x4206e3
jmp case.0x4212cf.1
mov eax, dword [esi + 0xf2dc]
cmp eax, dword [esi + 0xadf88]
ja case.0x4212cf.1
mov eax, dword [ebp - 0x194]
sub eax, 0xc8
je 0x420701
sub eax, 1
jne 0x42070b
mov dword [ebp - 0x17c], 3
jmp 0x42070b
mov dword [ebp - 0x17c], 2
push 2
mov ecx, esi
mov byte [ebp - 0x182], 0
call fcn.004014b0
test al, al
je 0x4207a6
cmp byte [esi + 0xadce1], 0
je 0x42073c
cmp byte [0x4db969], 0
je 0x42073c
mov ecx, esi
call fcn.00436b10
mov eax, dword [esi + 0xade30]
cmp eax, 9
ja case.0x420747.7
jmp dword [eax*4 + 0x421f34]
mov edi, 4
jmp 0x4207ac
mov edi, 7
jmp 0x4207ac
mov edi, 2
jmp 0x4207ac
mov edi, 3
jmp 0x4207ac
cmp byte [esi + 0xadf60], 0
jne 0x4207a6
mov edi, 0xd
jmp 0x4207ac
cmp byte [esi + 0xadf60], 0
jne 0x4207a6
mov edi, 0xe
jmp 0x4207ac
mov edi, 8
jmp 0x4207ac
mov byte [ebp - 0x182], 1
jmp 0x4207a6
push 0x4b1f50
mov ecx, esi
call fcn.00440c90
mov edi, dword [ebp - 0x17c]
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 0x4207ef
push 0x800000
mov ecx, esi
call fcn.00401740
test al, al
jne 0x4207ef
push 0x10000
mov ecx, esi
call fcn.00401740
test al, al
je 0x4207f4
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 0x42089b
push 3
lea ecx, [esi + 0xeea8]
mov edi, 2
call fcn.0044c890
push 4
lea ecx, [esi + 0xeea8]
call fcn.00401710
test al, al
je 0x4208bd
mov edi, 3
lea ecx, [esi + 0xeea8]
push edi
call fcn.0044c890
push 1
lea ecx, [esi + 0xeea8]
call fcn.00401710
test al, al
je 0x4208e0
push 3
lea ecx, [esi + 0xeea8]
mov edi, 1
call fcn.0044c890
push 2
lea ecx, [esi + 0xeea8]
call fcn.00401710
test al, al
je 0x420903
push 3
lea ecx, [esi + 0xeea8]
mov edi, 4
call fcn.0044c890
push 0x30
mov ecx, esi
call fcn.004220b0
push 0x31
mov ecx, esi
mov dword [0x5a2848], eax
call fcn.004220b0
push 0x80000000
mov ecx, esi
mov dword [0x5a284c], eax
call fcn.00401740
test al, al
jne 0x420ea1
cmp byte [ebp - 0x182], al
jne 0x420ea1
dec edi
cmp edi, 0xf
ja case.0x420949.7
jmp dword [edi*4 + 0x421f5c]
push 1
mov ecx, esi
call fcn.00436790
mov ecx, esi
call fcn.00411bd0
mov dword [esi + 0x3cde8], 0x12c
jmp 0x420e66
push 1
mov ecx, esi
call fcn.00436790
cmp byte [esi + 0xadf60], 0
jne 0x420e66
mov ecx, esi
call fcn.00412ad0
mov ecx, esi
call fcn.004256e0
call fcn.00411bd0
cmp byte [esi + 0xadde5], 0
je 0x4209b0
mov dword [esi + 0x3cde8], 0x2c6
jmp 0x420e66
push 3
push 2
mov ecx, esi
call fcn.0042ef90
mov dword [esi + 0x3cde8], 0x2bc
jmp 0x420e66
push 1
mov ecx, esi
call fcn.00436790
cmp byte [esi + 0xadf60], 0
jne 0x420e66
mov eax, dword [esi + 0xadf4c]
test eax, eax
js 0x420e66
cmp eax, 0xa
jge 0x420e66
mov ecx, esi
call fcn.00412ad0
mov ecx, esi
call fcn.004256e0
cmp byte [esi + 0xadde6], 0
je 0x420a1d
mov dword [esi + 0x3cde8], 0x2f8
jmp 0x420e66
push 4
push 3
mov ecx, esi
call fcn.0042ef90
mov dword [esi + 0x3cde8], 0x2ee
jmp 0x420e66
mov ecx, esi
call fcn.00412ad0
mov ecx, esi
call fcn.004256e0
call fcn.00411bd0
push 1
mov ecx, esi
mov byte [esi + 0xae089], 1
call fcn.00436790
push 0
mov ecx, esi
mov byte [esi + 0xf32c], 0
call fcn.004255e0
push 0
mov ecx, esi
call fcn.0043b680
push 8
mov ecx, esi
mov byte [esi + 0xae072], 0
mov word [esi + 0xae070], 0
call fcn.0041cb90
mov dword [esi + 0x3cde8], 0x190
jmp 0x420e66
mov ecx, esi
call fcn.00412ad0
mov ecx, esi
call fcn.004256e0
call fcn.00411bd0
push 1
mov ecx, esi
mov byte [esi + 0xae089], 1
call fcn.00436790
push 0
mov ecx, esi
mov byte [esi + 0xf32c], 0
call fcn.004255e0
push 0
mov ecx, esi
call fcn.0043b680
push 0x11
mov ecx, esi
mov word [esi + 0xae070], 0
mov byte [esi + 0xae072], 0
call fcn.0041cb90
mov word [0x4d9580], 1
mov dword [esi + 0x3cde8], 0x190
jmp 0x420e66
mov ecx, esi
call fcn.00412ad0
mov ecx, esi
call fcn.004256e0
call fcn.00411bd0
push 1
mov ecx, esi
mov byte [esi + 0xae089], 1
call fcn.00436790
push 0
mov ecx, esi
mov byte [esi + 0xf32c], 0
call fcn.004255e0
push 0
mov ecx, esi
call fcn.0043b680
push 0x11
mov ecx, esi
mov word [esi + 0xae070], 0
mov byte [esi + 0xae072], 0
call fcn.0041cb90
mov word [0x4d9580], 0
mov dword [esi + 0x3cde8], 0x190
jmp 0x420e66
lea eax, [ebp - 0x194]
mov dword [ebp - 0x194], 0
push eax
push 0
lea ecx, [esi + 0xf348]
call fcn.004028d0
test eax, eax
je 0x420e66
mov ecx, dword [eax + 0x88]
cmp ecx, dword [esi + 0xadc14]
je 0x420e66
mov edx, dword [eax + 0x8c]
test edx, edx
je 0x420e66
movzx eax, byte [esi + 0xadce1]
push eax
push edx
push ecx
mov ecx, esi
call fcn.00436a10
mov byte [0x4db969], 1
jmp 0x420e66
cmp dword [esi + 0xf34c], 1
jle 0x420e66
mov ecx, esi
call fcn.00412ad0
mov ecx, esi
call fcn.004256e0
push 1
call fcn.00436790
lea eax, [ebp - 0x190]
mov dword [ebp - 0x190], 0
push eax
push 0
lea ecx, [esi + 0xf348]
call fcn.004028d0
cmp byte [esi + 0xadce1], 0
mov byte [esi + 0xae070], 0
je 0x420c3f
cmp byte [0x4db969], 0
je 0x420c3f
mov ecx, esi
mov byte [0x4db969], 0
call fcn.00436b10
push 0x10
mov ecx, esi
call fcn.0041cb90
mov dword [esi + 0x3cde8], 0x258
jmp 0x420e66
push 1
mov ecx, esi
call fcn.00436790
cmp byte [esi + 0xadf5c], 0
je 0x420c7c
mov ecx, esi
mov byte [esi + 0xadf5c], 0
call fcn.004432c0
jmp 0x420e5c
cmp byte [esi + 0xadce1], 0
mov byte [esi + 0xadf5c], 1
je 0x420ca3
cmp byte [0x4db969], 0
je 0x420ca3
mov ecx, esi
mov byte [0x4db969], 0
call fcn.00436b10
cmp byte [esi + 0xadf5d], 0
je 0x420cb3
mov byte [esi + 0xadf5d], 0
mov ecx, esi
call fcn.004432c0
jmp 0x420e5c
cmp byte [esi + 0xadddd], 0
jne 0x420cd5
cmp byte [esi + 0xf19c], 0
je 0x420e66
push 1
mov ecx, esi
call fcn.00436790
cmp byte [esi + 0xadce1], 0
mov byte [esi + 0xadf5d], 1
je 0x420d05
cmp byte [0x4db969], 0
je 0x420d05
mov ecx, esi
mov byte [0x4db969], 0
call fcn.00436b10
cmp byte [esi + 0xadf5c], 0
je 0x420d15
mov byte [esi + 0xadf5c], 0
mov ecx, esi
call fcn.004432c0
jmp 0x420e5c
cmp byte [esi + 0xaddf1], 0
jne 0x420e66
mov dword [esi + 0x3cde8], 0xfa
jmp 0x420e66
cmp byte [esi + 0xaddf1], 0
je 0x420e66
mov dword [esi + 0x3cde8], 0xfa
jmp 0x420e66
mov ecx, esi
call fcn.00412ad0
mov ecx, esi
call fcn.004256e0
call fcn.00411bd0
push 1
mov ecx, esi
call fcn.00436790
push 0
mov ecx, esi
mov byte [esi + 0xf32c], 0
call fcn.004255e0
push 0
mov ecx, esi
call fcn.0043b680
mov byte [esi + 0xae089], 1
push 0x1e
jmp 0x420a75
cmp byte [esi + 0xade38], 0
lea ecx, [esi + 0xf2fc]
sete al
mov byte [esi + 0xade38], al
call fcn.00405f50
mov ecx, esi
call fcn.00403220
jmp 0x420e66
cmp byte [esi + 0xadde8], 0
je 0x420ddb
mov dword [esi + 0x3cde8], 0x38e
jmp 0x420e66
push 6
push 6
mov ecx, esi
call fcn.0042ef90
mov dword [esi + 0x3cde8], 0x384
jmp 0x420e66
push 1
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x420e3c
push 0x1000000
mov ecx, esi
call fcn.00401740
test al, al
jne 0x420e3c
push 0x4000
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x420e3c
push 0x20
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x420e3c
push 0x20000
mov ecx, esi
call fcn.00401740
test al, al
je 0x420e66
cmp byte [esi + 0xadce1], 0
je 0x420e5c
cmp byte [0x4db969], 0
je 0x420e5c
mov ecx, esi
mov byte [0x4db969], 0
call fcn.00436b10
mov dword [esi + 0x3cde8], 0x64
mov eax, dword [esi + 0xf1dc]
mov ecx, dword [esi + 0xf2dc]
add eax, 6
cmp eax, ecx
jae case.default.0x4212cf
inc dword [esi + 0xf1e0]
cmp dword [esi + 0xf1e0], 1
jl 0x420e96
mov dword [esi + 0xf1e0], 0
mov dword [esi + 0xf1dc], ecx
jmp case.default.0x4212cf
mov ecx, esi
call fcn.00412ad0
push 0x13
mov ecx, esi
call fcn.0041cb90
mov dword [esi + 0x3cde8], 0x320
jmp case.default.0x4212cf
mov ecx, esi
mov word [esi + 0xadf5c], 0
call fcn.004432c0
jmp case.default.0x4212cf
push 0xc
lea ecx, [esi + 0xf2fc]
call fcn.00406530
push 0xb
lea ecx, [esi + 0xf2fc]
call fcn.00406530
mov eax, dword [esi + 0xf2dc]
mov dword [0x5a2850], eax
mov dword [esi + 0x3cde8], 0x104
jmp case.default.0x4212cf
mov edi, dword [esi + 0xf2dc]
mov eax, 0x1e
sub edi, dword [0x5a2850]
cmp edi, eax
cmova edi, eax
cmp byte [esi + 0xaddf1], 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.0043be80
cmp edi, 0x1e
jb case.default.0x4212cf
cmp byte [esi + 0xaddf1], 0
mov ecx, esi
sete al
mov byte [esi + 0xaddf1], al
call fcn.0043b7a0
mov dword [esi + 0x3cde8], 0xc8
jmp case.default.0x4212cf
cmp eax, 0x2c6
jg 0x42184b
je 0x421800
cmp eax, 0x190
jg 0x421197
je 0x421112
sub eax, 0x12c
je 0x4210e3
sub eax, 0xa
je 0x420ff7
sub eax, 0x28
jne case.default.0x4212cf
lea ecx, [esi + 0xf2fc]
mov byte [esi + 0xf0cc], 1
call fcn.00405f50
push 1
mov ecx, esi
call fcn.0043b680
cmp byte [esi + 0xade38], 0
jne 0x420fde
mov byte [esi + 0xf32c], 0
mov byte [esi + 0xf115], 0
mov dword [esi + 0xf1ec], 0
mov dword [esi + 0x3cde8], 0xc8
jmp case.default.0x4212cf
push 2
mov ecx, esi
xor dh, dh
xor dl, dl
call fcn.004014b0
test al, al
je 0x421017
cmp dword [esi + 0xade30], 0
jne 0x421015
mov dl, 1
jmp 0x421017
mov dh, 1
push 1
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x421044
push 0x100000
mov ecx, esi
call fcn.00401740
test al, al
jne 0x421044
push 0x4000
mov ecx, esi
call fcn.00401740
test al, al
je 0x421046
mov dh, 1
push 2
mov ecx, esi
call fcn.004014b0
test al, al
jne 0x421073
push 0x2000
mov ecx, esi
call fcn.00401740
test al, al
jne 0x421073
push 0x200000
mov ecx, esi
call fcn.00401740
test al, al
je 0x421075
mov dl, 1
test dh, dh
je 0x421088
mov dword [esi + 0x3cde8], 0x15e
jmp case.default.0x4212cf
test dl, dl
je case.default.0x4212cf
mov ecx, esi
call fcn.00412ad0
cmp byte [esi + 0xae040], 0
jne 0x421097
lea ecx, [esi + 0xf2fc]
mov byte [esi + 0xf0cc], 1
call fcn.00405f50
push 1
mov ecx, esi
call fcn.0043b680
cmp byte [esi + 0xade38], 0
jne 0x4210d2
mov byte [esi + 0xf32c], 0
mov byte [esi + 0xf115], 0
mov dword [esi + 0xf1ec], 0
push 9
jmp 0x420eaa
push str.Message_Hide
lea ecx, [esi + 0xf2fc]
mov byte [esi + 0xf0cc], 0
call fcn.00405d70
push 0
mov ecx, esi
call fcn.0043b680
mov dword [esi + 0x3cde8], 0x136
jmp case.default.0x4212cf
push 1
mov ecx, esi
mov byte [esi + 0xf32c], 1
call fcn.004255e0
push 1
mov ecx, esi
call fcn.0043b680
cmp byte [esi + 0xade38], 0
mov word [esi + 0xae070], 0x101
mov byte [esi + 0xae072], 1
mov byte [esi + 0xae089], 0
jne 0x421159
mov byte [esi + 0xf32c], 0
mov byte [esi + 0xf115], 0
mov dword [esi + 0xf1ec], 0
call fcn.0041dac0
mov ecx, esi
call fcn.00445b20
mov ecx, esi
call fcn.004432c0
mov eax, dword [esi + 0xf2dc]
add eax, dword [esi + 0xade20]
mov dword [esi + 0xadf88], eax
mov dword [esi + 0x3cde8], 0xc8
jmp case.default.0x4212cf
sub eax, 0x1f4
je 0x42122f
sub eax, 0x64
je 0x4211cc
sub eax, 0x64
jne case.default.0x4212cf
cmp dword [0x5a3e78], 1
jne 0x421841
mov dword [esi + 0x3cde8], 0x2c6
jmp case.default.0x4212cf
call fcn.0041dac0
mov ecx, esi
call fcn.00445b20
cmp byte [esi + 0xade38], 0
jne 0x4211ef
mov byte [esi + 0xf32c], 0
mov byte [esi + 0xf115], 0
mov eax, dword [esi + 0xf2dc]
mov ecx, esi
add eax, dword [esi + 0xade20]
mov dword [esi + 0xf1ec], 0
mov dword [esi + 0xadf88], eax
call fcn.004432c0
mov byte [esi + 0xae070], 1
mov byte [esi + 0xae089], 0
mov dword [esi + 0x3cde8], 0xc8
jmp case.default.0x4212cf
mov eax, dword [esi + 0x3cd20]
lea edi, [esi + 0x3cd18]
mov ecx, edi
mov dword [ebp - 0x178], eax
call fcn.00432550
mov dword [ebp - 0x180], eax
cmp eax, 0x1387
ja 0x4212b6
push dword [ebp - 0x178]
lea ecx, [ebp - 0x3f4]
call fcn.0045ac80
mov ecx, eax
call fcn.0045ac50
sub esp, 0xc
mov ecx, esp
push eax
call fcn.0045ac80
mov eax, dword [ebp - 0x180]
lea eax, [eax + eax*2]
lea eax, [eax + 0x16135]
lea eax, [esi + eax*4]
mov ecx, eax
mov dword [ebp - 0x180], eax
call fcn.0045acf0
test al, al
je 0x4212b6
sub esp, 0xc
mov ecx, esp
push dword [ebp - 0x178]
call fcn.0045ac80
mov ecx, dword [ebp - 0x180]
call fcn.0045aca0
push ecx
mov ecx, esi
call fcn.00416c60
mov ecx, edi
call fcn.00432320
inc eax
cmp eax, 4
ja case.default.0x4212cf
jmp dword [eax*4 + 0x421f9c]
lea ecx, [esi + 0xf2fc]
mov dword [esi + 0xae072], 0x1000000
mov word [esi + 0xae070], 0
mov word [esi + 0xadf5c], 0
call fcn.00405c30
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.00436020
push 0
mov ecx, esi
call fcn.004255e0
push 0
mov ecx, esi
call fcn.0043b680
mov dword [esi + 0x3cde8], 0
mov dword [esi + 0x3cdd4], 1
mov dword [esi + 0x3cde4], 0
jmp case.default.0x4212cf
push 0xffffffffffffffff
mov ecx, esi
mov dword [esi + 0x3cde8], 0
mov word [esi + 0xadf5c], 0
call fcn.00436020
cmp byte [esi + 0xadf62], 0
jne 0x4213e3
cmp byte [esi + 0xae040], 0
jne 0x4213a7
lea ecx, [esi + 0xf2fc]
call fcn.00405f50
mov ecx, esi
call fcn.0041cc10
push 0
mov ecx, esi
call fcn.004255e0
push 0
mov ecx, esi
call fcn.0043b680
mov dword [esi + 0x3cde8], 0
jmp case.default.0x4212cf
push 0
mov ecx, esi
mov dword [esi + 0xae072], 0x1000000
mov word [esi + 0xae070], 0
call fcn.004255e0
push 0
mov ecx, esi
call fcn.0043b680
lea ecx, [esi + 0xf2fc]
call fcn.00405c30
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.default.0x4212cf
mov ecx, edi
mov dword [esi + 0x3cd20], 0
call fcn.004320a0
push eax
imul eax, dword [edi + 0x34], 0x9c
add eax, dword [edi + 0x2c]
mov ecx, dword [eax + 0x6c]
mov dword [esi + 0xadf90], ecx
mov ecx, dword [eax + 0x70]
mov dword [esi + 0xadf94], ecx
mov ecx, esi
mov eax, dword [eax + 0x68]
mov dword [esi + 0xae024], eax
mov dword [esi + 0xadf8c], 0
call fcn.004224f0
cmp byte [esi + 0xadf60], 0
mov byte [esi + 0xf1a8], 1
jne 0x4214e5
cmp byte [esi + 0xade05], 0
je 0x4214e5
mov byte [esi + 0xae03f], 1
mov dword [esi + 0xae028], 0
lea eax, [esi + 0xadf98]
mov dword [ebp - 0x198], eax
lea edx, [esi + 0xadfac]
mov dword [eax], 0xffffffff
xor eax, eax
mov dword [esi + 0xadf9c], 0xffffffff
mov dword [esi + 0xadfa0], 0xffffffff
mov dword [esi + 0xadfa4], 0xffffffff
mov dword [esi + 0xadfa8], 0xffffffff
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x190], 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 - 0x198]
mov dword [ecx], eax
cmp eax, 0xffffffff
je 0x41e1da
inc dword [esi + 0xae028]
mov ecx, edx
call fcn.00459860
mov ecx, edi
call fcn.004320a0
test eax, eax
je 0x421596
push dword [eax + 0x10]
mov ecx, edi
call fcn.004320c0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004596e0
mov ecx, dword [ebp - 0x190]
call fcn.00459a00
mov eax, dword [ebp - 0x178]
mov edx, dword [ebp - 0x190]
inc eax
add dword [ebp - 0x198], 4
add edx, 0x18
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x190], edx
cmp eax, 5
jl 0x421540
jmp 0x41e1da
imul ecx, dword [edi + 0x34], 0x9c
add ecx, dword [edi + 0x2c]
cmp byte [esi + 0xadf60], 0
mov eax, dword [ecx + 0x68]
mov edx, dword [ecx + 0x6c]
mov edi, dword [ecx + 0x70]
mov dword [ebp - 0xc8], eax
jne 0x4215f5
cmp byte [esi + 0xade05], 0
je 0x4215f5
mov byte [esi + 0xae03f], 1
mov eax, dword [ecx + 0x74]
cmp eax, 0xffffffff
jne 0x421618
mov byte [ebp - 0xc4], 0
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
jmp 0x421631
mov byte [ebp - 0xc4], 1
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xb8], eax
mov eax, dword [ecx + 0x78]
cmp eax, 0xffffffff
jne 0x421654
mov byte [ebp - 0xb4], 0
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
jmp 0x42166d
mov byte [ebp - 0xb4], 1
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xa8], eax
mov eax, dword [ecx + 0x7c]
cmp eax, 0xffffffff
jne 0x421690
mov byte [ebp - 0xa4], 0
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
jmp 0x4216a9
mov byte [ebp - 0xa4], 1
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x98], eax
mov eax, dword [ecx + 0x80]
cmp eax, 0xffffffff
jne 0x4216cf
mov byte [ebp - 0x94], 0
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
jmp 0x4216e8
mov byte [ebp - 0x94], 1
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x88], eax
mov eax, dword [ecx + 0x84]
cmp eax, 0xffffffff
jne 0x421705
mov byte [ebp - 0x84], 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
jmp 0x421715
mov byte [ebp - 0x84], 1
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], eax
mov eax, dword [ecx + 0x88]
cmp eax, 0xffffffff
jne 0x42172f
mov byte [ebp - 0x74], 0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
jmp 0x42173c
mov byte [ebp - 0x74], 1
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x68], eax
mov eax, dword [ecx + 0x8c]
cmp eax, 0xffffffff
jne 0x421756
mov byte [ebp - 0x64], 0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
jmp 0x421763
mov byte [ebp - 0x64], 1
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], eax
mov eax, dword [ecx + 0x90]
cmp eax, 0xffffffff
jne 0x42177d
mov byte [ebp - 0x54], 0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
jmp 0x42178a
mov byte [ebp - 0x54], 1
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], eax
mov eax, dword [ecx + 0x94]
cmp eax, 0xffffffff
jne 0x4217a4
mov byte [ebp - 0x44], 0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
jmp 0x4217b1
mov byte [ebp - 0x44], 1
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], eax
mov eax, dword [ecx + 0x98]
cmp eax, 0xffffffff
jne 0x4217cb
mov byte [ebp - 0x34], 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
jmp 0x4217d8
mov byte [ebp - 0x34], 1
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0xc8]
push eax
call fcn.00424a20
mov dword [esi + 0x3cde8], 0
mov dword [esi + 0x3cdd4], 6
jmp case.default.0x4212cf
cmp byte [esi + 0xae040], 0
jne 0x421800
inc dword [esi + 0xadf4c]
cmp dword [esi + 0xadf4c], 1
jl 0x421822
mov dword [esi + 0xadf4c], 0
mov eax, dword [esi + 0xadf4c]
mov ecx, esi
push 0x4b1f90
add eax, 0x6d
push eax
call fcn.004173f0
push 0x1c
mov ecx, esi
call fcn.00436c60
call fcn.0041dac0
jmp 0x421176
cmp eax, 0x384
jg 0x421a2f
je 0x421a10
sub eax, 0x2ee
je 0x4219f4
sub eax, 0xa
je 0x4218fa
sub eax, 0x28
jne case.default.0x4212cf
mov word [esi + 0xae070], 0x101
mov byte [esi + 0xae072], 1
mov byte [esi + 0xae089], al
cmp byte [esi + 0xade38], al
jne 0x4218a3
mov byte [esi + 0xf32c], al
mov byte [esi + 0xf115], al
mov dword [esi + 0xf1ec], 0
call fcn.0041dac0
mov ecx, esi
call fcn.00445b20
push 0x1b
mov ecx, esi
call fcn.004220b0
test eax, eax
mov ecx, esi
setne al
movzx eax, al
push eax
call fcn.00403320
mov eax, dword [esi + 0xf2dc]
mov ecx, esi
add eax, dword [esi + 0xade20]
mov dword [esi + 0xadf88], eax
call fcn.004432c0
mov dword [esi + 0x3cde8], 0xc8
jmp case.default.0x4212cf
mov eax, dword [esi + 0xadf4c]
mov dword [esi + 0x3cde8], 0xc8
test eax, eax
js case.default.0x4212cf
cmp eax, 1
jge case.default.0x4212cf
nop dword [eax + eax]
cmp byte [esi + 0xae040], 0
jne 0x421920
mov ecx, esi
call fcn.0041cca0
call fcn.0041ce10
mov eax, dword [esi + 0xadf4c]
mov ecx, esi
add eax, 0x6d
push eax
call fcn.00417b00
mov ecx, esi
test al, al
jne 0x42196f
push 0x4b1fa0
call fcn.00440c90
mov dword [esi + 0x3cdd4], 3
mov dword [esi + 0x3cde8], 0
jmp case.default.0x4212cf
mov eax, dword [esi + 0x3cdc8]
mov dword [esi + 0x3cdcc], eax
call fcn.0041d400
push 1
mov ecx, esi
call fcn.0043b680
push 0x30
mov ecx, esi
call fcn.004220b0
push 0x31
mov ecx, esi
mov dword [0x5a2848], eax
call fcn.004220b0
cmp byte [esi + 0xf21c], 0
mov dword [0x5a284c], eax
jne 0x4219bc
cmp dword [0x5a2848], 0
je 0x4219bc
call fcn.0041dac0
mov ecx, esi
call fcn.00445b20
push 0x1b
mov ecx, esi
call fcn.00436c60
push 0x1b
mov ecx, esi
call fcn.004220b0
test eax, eax
mov ecx, esi
setne al
movzx eax, al
push eax
call fcn.00403320
mov dword [esi + 0x3cde8], 0x32
jmp case.default.0x4212cf
cmp dword [0x5a3e78], 1
jne 0x421841
mov dword [esi + 0x3cde8], 0x2f8
jmp case.default.0x4212cf
cmp dword [0x5a3e78], 1
mov eax, 0xc8
mov ecx, 0x38e
cmove eax, ecx
mov dword [esi + 0x3cde8], eax
jmp case.default.0x4212cf
sub eax, 0x38e
je 0x421acb
sub eax, 0x5a
je 0x421a5e
sub eax, 0xc8
jne case.default.0x4212cf
call fcn.00408b30
test al, al
je case.default.0x4212cf
call fcn.00408c50
jmp case.0x4212cf.1
cmp byte [0x4db933], 0
je 0x421ab3
push 1
mov ecx, esi
call fcn.004014b0
test al, al
jne case.0x4212cf.1
push 0x4000
mov ecx, esi
call fcn.004014b0
test al, al
jne case.0x4212cf.1
push 0x1000000
mov ecx, esi
call fcn.00401740
test al, al
jne case.0x4212cf.1
mov eax, dword [esi + 0xee04]
shr eax, 0x19
test al, 1
jne case.0x4212cf.1
cmp byte [esi + 0xadf5d], 0
jne case.0x4212cf.1
cmp byte [esi + 0xadf5c], 0
jne case.0x4212cf.1
cmp byte [0x4db968], 0
je case.default.0x4212cf
mov eax, dword [0x4db96c]
cmp eax, dword [esi + 0xf2dc]
jae case.default.0x4212cf
jmp case.0x4212cf.1
call fcn.0041d720
mov dword [esi + 0x3cde8], 0x64
lea ecx, [ebp - 0x1b4]
call fcn.004597c0
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.00461211
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret