Function at 0x41f9a0
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 0x4b74cf
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x220
mov eax, dword [0x4ed214]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x170], ecx
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x184], 0
call fcn.0046a4d0
mov eax, dword [ebp - 0x170]
mov dword [ebp - 4], 0
mov ecx, dword [eax + 0x3dd78]
cmp ecx, 0x104
jg 0x423c77
je 0x423c06
cmp ecx, 0xfa
ja case.0x424934.711
movzx eax, byte [ecx + 0x424c84]
jmp dword [eax*4 + 0x424c4c]
mov eax, dword [ebp - 0x170]
mov ecx, eax
mov dword [eax + 0xc847b], 0x1010101
mov word [eax + 0xc8479], 0x101
call fcn.00456290
mov ecx, dword [ebp - 0x170]
push 0x30
call fcn.00425330
mov ecx, dword [ebp - 0x170]
push 0x31
mov dword [0x5d7880], eax
call fcn.00425330
mov dword [0x5d7884], eax
mov eax, dword [ebp - 0x170]
cmp byte [eax + 0xf39c], 0
jne 0x41faa2
cmp dword [0x5d7880], 0
je 0x41faa2
call fcn.0041f8a0
mov eax, dword [ebp - 0x170]
push 0
mov ecx, eax
call fcn.00417670
mov ecx, dword [ebp - 0x170]
call fcn.00403f80
mov ecx, dword [ebp - 0x170]
call fcn.0042fc50
mov ecx, dword [ebp - 0x170]
push 1
call fcn.0042fd60
mov ecx, dword [ebp - 0x170]
mov al, byte [ecx + 0xc8248]
mov byte [ecx + 0xf4ac], al
test al, al
mov eax, ecx
jne 0x41faf6
mov byte [eax + 0xf4ac], 0
mov byte [eax + 0xf295], 0
jmp 0x41fafd
mov byte [eax + 0xf295], 1
mov esi, ecx
mov dword [eax + 0xf36c], 0
mov byte [eax + 0xf328], 1
mov eax, dword [eax + 0xf45c]
push 1
mov dword [esi + 0xf35c], eax
mov eax, ecx
movups xmm0, xmmword [0x4c4318]
movups xmmword [eax + 0xf374], xmm0
call fcn.00447520
mov eax, esi
push 0xffffffffffffffff
lea ecx, [eax + 0xeea8]
mov byte [eax + 0xc8491], 1
call fcn.0045cf70
mov eax, esi
mov byte [0x50d468], 0
mov dword [eax + 0x3dd78], 0x32
jmp case.0x424934.711
mov ecx, dword [ebp - 0x170]
push 0
call fcn.00417670
mov ecx, dword [ebp - 0x170]
call fcn.00456290
mov ecx, dword [ebp - 0x170]
push 0xffffffffffffffff
lea ecx, [ecx + 0xeea8]
call fcn.0045cf70
mov eax, dword [ebp - 0x170]
mov byte [0x50d468], 1
mov dword [eax + 0x3dd78], 0x32
jmp case.0x424934.711
call dword [0x4bb42c]
add eax, 0x2710
mov dword [0x5d9d34], eax
mov eax, dword [ebp - 0x170]
mov dword [eax + 0x3dd78], 0x37
jmp case.0x424934.711
mov eax, dword [ebp - 0x170]
mov ecx, dword [eax + 0xec68]
test ecx, ecx
je 0x41fbff
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
test al, al
je 0x41fbf9
call dword [0x4bb42c]
cmp eax, dword [0x5d9d34]
jb case.0x424934.711
mov eax, dword [ebp - 0x170]
mov dword [eax + 0x3dd78], 0x3c
jmp case.0x424934.711
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00453340
imul edi, dword [esi + 0x3dcdc], 0x9c
add edi, dword [esi + 0x3dcd4]
jne 0x41fc3c
mov dword [esi + 0x3dd78], 0x1f4
jmp case.0x424934.711
mov eax, dword [edi + 0x64]
sub eax, 0
je 0x422d70
sub eax, 1
je 0x41fe90
sub eax, 2
jne 0x422d70
mov eax, dword [edi + 0x6c]
mov ecx, esi
mov dword [ebp - 0x180], eax
mov eax, dword [edi + 0x70]
mov dword [ebp - 0x184], eax
mov eax, dword [edi + 0x68]
mov dword [ebp - 0xc0], eax
call fcn.0043c2c0
mov edx, dword [edi + 0x74]
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x184]
cmp edx, 0xffffffff
jne 0x41fcab
mov byte [ebp - 0xbc], 0
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb0], edx
jmp 0x41fcc4
mov byte [ebp - 0xbc], 1
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb0], edx
mov edx, dword [edi + 0x78]
cmp edx, 0xffffffff
jne 0x41fce7
mov byte [ebp - 0xac], 0
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa0], edx
jmp 0x41fd00
mov byte [ebp - 0xac], 1
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xa0], edx
mov edx, dword [edi + 0x7c]
cmp edx, 0xffffffff
jne 0x41fd23
mov byte [ebp - 0x9c], 0
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x90], edx
jmp 0x41fd3c
mov byte [ebp - 0x9c], 1
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], edx
mov edx, dword [edi + 0x80]
cmp edx, 0xffffffff
jne 0x41fd5f
mov byte [ebp - 0x8c], 0
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], edx
jmp 0x41fd75
mov byte [ebp - 0x8c], 1
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], edx
mov edx, dword [edi + 0x84]
cmp edx, 0xffffffff
jne 0x41fd8f
mov byte [ebp - 0x7c], 0
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], edx
jmp 0x41fd9c
mov byte [ebp - 0x7c], 1
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], edx
mov edx, dword [edi + 0x88]
cmp edx, 0xffffffff
jne 0x41fdb6
mov byte [ebp - 0x6c], 0
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], edx
jmp 0x41fdc3
mov byte [ebp - 0x6c], 1
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], edx
mov edx, dword [edi + 0x8c]
cmp edx, 0xffffffff
jne 0x41fddd
mov byte [ebp - 0x5c], 0
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], edx
jmp 0x41fdea
mov byte [ebp - 0x5c], 1
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
mov edx, dword [edi + 0x90]
cmp edx, 0xffffffff
jne 0x41fe04
mov byte [ebp - 0x4c], 0
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], edx
jmp 0x41fe11
mov byte [ebp - 0x4c], 1
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
mov edx, dword [edi + 0x94]
cmp edx, 0xffffffff
jne 0x41fe2b
mov byte [ebp - 0x3c], 0
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], edx
jmp 0x41fe38
mov byte [ebp - 0x3c], 1
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov edx, dword [edi + 0x98]
cmp edx, 0xffffffff
jne 0x41fe52
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], edx
jmp 0x41fe5f
mov byte [ebp - 0x2c], 1
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x170]
lea esi, [ebp - 0xc0]
mov ecx, 0x29
mov edi, 0x5d7a40
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 0x3dd78], 0
mov dword [eax + 0x3dd64], 6
jmp case.0x424934.711
mov eax, esi
lea edi, [eax + 0x3dca8]
mov dword [eax + 0x3dcb0], 0
mov ecx, dword [edi + 8]
cmp ecx, dword [edi + 4]
je case.0x424934.711
mov eax, ecx
shl eax, 5
add eax, dword [edi]
mov dword [ebp - 0x17c], eax
lea eax, [ecx + 1]
mov dword [edi + 8], eax
je case.0x424934.711
imul ecx, dword [esi + 0x3dcdc], 0x9c
add ecx, dword [esi + 0x3dcd4]
mov eax, dword [ecx + 0x6c]
mov dword [esi + 0xc839c], eax
mov eax, dword [ecx + 0x70]
mov dword [esi + 0xc83a0], eax
mov eax, dword [ecx + 0x68]
mov ecx, esi
mov dword [esi + 0xc8430], eax
mov dword [esi + 0xc8398], 0
call fcn.0043c2c0
push dword [ebp - 0x17c]
mov ecx, esi
call fcn.00425770
cmp byte [0x50d468], 0
mov eax, esi
mov byte [eax + 0xf328], 1
je 0x41ff42
cmp byte [eax + 0xc8215], 0
je 0x41ff3b
cmp byte [eax + 0xc836c], 0
jne 0x41ff3b
mov byte [eax + 0xc844b], 1
mov byte [0x50d468], 0
mov dword [eax + 0xc8434], 0
lea ecx, [eax + 0xc83a4]
xor edx, edx
mov dword [ebp - 0x184], ecx
lea esi, [eax + 0xc83b8]
mov dword [ecx], 0xffffffff
mov dword [eax + 0xc83a8], 0xffffffff
mov dword [eax + 0xc83ac], 0xffffffff
mov dword [eax + 0xc83b0], 0xffffffff
mov dword [eax + 0xc83b4], 0xffffffff
mov dword [ebp - 0x180], edx
mov dword [ebp - 0x194], esi
jmp 0x41ffa6
mov eax, dword [ebp - 0x170]
imul ecx, dword [eax + 0x3dcdc], 0x27
mov eax, dword [eax + 0x3dcd4]
add ecx, edx
mov eax, dword [eax + ecx*4 + 0x74]
mov ecx, dword [ebp - 0x184]
mov dword [ecx], eax
cmp eax, 0xffffffff
je 0x42003a
mov eax, dword [ebp - 0x170]
mov ecx, esi
inc dword [eax + 0xc8434]
call fcn.0046a6d0
mov eax, dword [edi + 8]
cmp eax, dword [edi + 4]
je 0x420014
mov ecx, eax
lea eax, [eax + 1]
shl ecx, 5
mov dword [edi + 8], eax
add ecx, dword [edi]
je 0x420014
sub esp, 0x18
mov esi, esp
push dword [ecx + 0x10]
mov ecx, edi
call fcn.0043cb60
push eax
mov ecx, esi
call fcn.0046a550
mov esi, dword [ebp - 0x194]
mov ecx, esi
call fcn.0046a870
mov edx, dword [ebp - 0x180]
add esi, 0x18
add dword [ebp - 0x184], 4
inc edx
mov dword [ebp - 0x180], edx
mov dword [ebp - 0x194], esi
cmp edx, 5
jl 0x41ffa0
mov eax, dword [ebp - 0x170]
cmp dword [eax + 0xc8430], 0
je 0x42004f
dec dword [eax + 0xc8434]
push 0
mov ecx, eax
call fcn.0042fd60
mov eax, dword [ebp - 0x170]
mov dword [eax + 0x3dd64], 5
mov dword [eax + 0x3dd78], 0
jmp case.0x424934.711
mov ecx, dword [ebp - 0x170]
mov eax, dword [ecx + 0x3ddec]
mov dword [ecx + 0x146d8], eax
mov byte [ecx + 0xc8491], 0
mov dword [ecx + 0x146dc], 0xffffffff
mov eax, dword [ecx + 0x3ddf0]
mov dword [ecx + 0x146e0], eax
mov eax, dword [ecx + 0x3ddf4]
mov dword [ecx + 0x146e4], eax
mov eax, dword [ecx + 0x3ddf8]
mov dword [ecx + 0x146e8], eax
mov eax, dword [ecx + 0x3ddfc]
mov dword [ecx + 0x146ec], eax
mov eax, dword [ecx + 0x3de00]
mov dword [ecx + 0x146f0], eax
mov eax, dword [ecx + 0x3de04]
mov dword [ecx + 0x146f4], eax
mov eax, ecx
mov dword [ecx + 0x146f8], 0xffffffff
mov dword [ecx + 0x146fc], 0xffffffff
mov dword [ecx + 0x14700], 0xffffffff
mov dword [ecx + 0x14704], 0xffffffff
lea edi, [eax + 0x3dca8]
mov dword [ecx + 0x14708], 0xffffffff
xor cl, cl
mov dword [eax + 0x1470c], 0xffffffff
mov byte [ebp - 0x176], cl
mov byte [ebp - 0x175], cl
mov byte [ebp - 0x169], cl
mov byte [ebp - 0x177], cl
mov dword [ebp - 0x174], edi
nop word [eax + eax]
xor cl, cl
mov byte [ebp - 0x16b], cl
mov byte [ebp - 0x16a], cl
mov ecx, dword [edi + 8]
cmp ecx, dword [edi + 4]
je 0x422ba2
mov edx, dword [edi]
mov edi, ecx
shl edi, 5
lea ecx, [ecx + 1]
add edi, edx
mov dword [eax + 0x3dcb0], ecx
mov dword [ebp - 0x17c], edi
je 0x422ba2
mov esi, dword [edi]
lea edx, [esi - 1]
cmp edx, 0x29
ja case.0x420196.16
jmp dword [edx*4 + 0x424d80]
cmp byte [eax + 0xc836a], 0
mov edi, dword [ebp - 0x174]
mov esi, dword [ebp - 0x170]
je 0x420203
mov eax, dword [edi]
shl ecx, 5
add eax, 0xffffffe0
add eax, ecx
mov ecx, esi
push eax
call fcn.00425770
cmp byte [esi + 0xf31c], 0
jne 0x422639
cmp byte [esi + 0xc836a], 0
je 0x4201df
call fcn.0041f560
mov ch, byte [ebp - 0x16b]
mov dl, 1
mov byte [esi + 0xf328], 1
mov byte [ebp - 0x169], dl
mov dword [esi + 0x3dd78], 0x78
jmp 0x42041b
mov ch, byte [ebp - 0x16b]
mov dl, 1
mov byte [ebp - 0x169], dl
mov dword [eax + 0x3dd78], 0x6e
jmp 0x42041b
mov ecx, dword [edi + 0x1c]
mov byte [ebp - 0x16b], 1
cmp ecx, 0x270f
ja 0x4202f9
cmp byte [eax + 0xc836d], 0
jne 0x42026a
sub esp, 0xc
mov ecx, esp
push 1
call fcn.0046ba90
mov eax, dword [edi + 0x1c]
mov esi, dword [ebp - 0x170]
lea eax, [eax + eax*2]
lea eax, [eax + 0xfb93]
lea ecx, [esi + eax*4]
call fcn.0046bab0
mov ecx, dword [edi + 0x1c]
jmp 0x420270
mov esi, dword [ebp - 0x170]
mov eax, ecx
shl eax, 5
mov eax, dword [eax + esi + 0x73574]
dec eax
cmp eax, 8
ja case.0x420286.3
jmp dword [eax*4 + 0x424e28]
movzx eax, byte [ebp - 0x175]
mov dword [esi + 0x146dc], ecx
xor ecx, ecx
cmp byte [esi + 0xc836a], cl
cmove ecx, eax
mov byte [ebp - 0x175], cl
jmp case.0x420286.3
push 0
push dword [edi + 0xc]
push ecx
mov ecx, esi
call fcn.00425430
jmp case.0x420286.3
cmp byte [esi + 0xc836a], 0
lea edi, [esi + 0x3dca8]
mov dl, byte [ebp - 0x169]
mov al, byte [ebp - 0x16a]
mov dword [esi + 0x146dc], ecx
mov ch, byte [ebp - 0x16b]
je 0x420421
mov byte [ebp - 0x175], 0
jmp 0x420421
push 0x4d7dbc
mov ecx, eax
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov edx, dword [edi + 0x1c]
mov ch, 1
mov byte [ebp - 0x16b], ch
cmp edx, 0x270f
ja 0x4202f9
mov esi, dword [ebp - 0x170]
mov eax, edx
shl eax, 5
mov eax, dword [eax + esi + 0x73574]
sub eax, 1
je 0x420354
sub eax, 1
je 0x420377
sub eax, 6
jne 0x42040f
cmp byte [esi + 0xc836a], 0
mov dword [esi + 0x3ddec], 0xffffffff
je 0x42040f
mov byte [ebp - 0x175], 0
jmp 0x42040f
xor ecx, ecx
lea eax, [esi + 0x3ddf0]
nop
cmp dword [eax], edx
je 0x42038d
inc ecx
add eax, 4
cmp ecx, 6
jl 0x420380
cmp ecx, 6
jne 0x4203bb
xor ecx, ecx
lea edx, [esi + 0x3de08]
nop word [eax + eax]
cmp dword [edx - 0x18], 0xffffffff
je 0x4203ad
mov eax, dword [edx]
cmp eax, dword [edi + 0xc]
je 0x4203b8
inc ecx
add edx, 4
cmp ecx, 6
jl 0x4203a0
jmp case.0x420286.3
cmp ecx, 6
jge case.0x420286.3
push ecx
mov ecx, esi
call fcn.004256c0
jmp case.0x420286.3
mov byte [ebp - 0x16b], 1
lea ecx, [eax + 0x3de08]
xor edx, edx
cmp dword [ecx - 0x18], 0xffffffff
je 0x4203e3
mov eax, dword [edi + 0xc]
cmp eax, dword [ecx]
je 0x4203ec
inc edx
add ecx, 4
cmp edx, 6
jl 0x4203d6
mov dword [ebp - 0x180], edx
cmp edx, 6
jne 0x42044e
mov esi, dword [ebp - 0x170]
push 0x4d7dd8
mov ecx, esi
call fcn.00450ea0
mov ch, byte [ebp - 0x16b]
lea edi, [esi + 0x3dca8]
mov dl, byte [ebp - 0x169]
mov al, byte [ebp - 0x16a]
mov cl, byte [esi + 0xc836a]
test cl, cl
je 0x420433
test al, al
jne 0x422bbd
mov eax, dword [ebp - 0x170]
test ch, ch
jne 0x420150
test cl, cl
je 0x422bc3
jmp 0x420150
mov ecx, dword [ebp - 0x170]
mov esi, edx
shl esi, 7
mov dword [ebp - 0x17c], esi
mov eax, dword [esi + ecx + 0xef68]
cmp eax, 0xffffffff
je 0x420472
mov dword [esi + ecx + 0xef58], eax
mov eax, dword [edi + 0x10]
mov dword [esi + ecx + 0xef68], eax
mov eax, dword [edi + 0x1c]
cmp dword [ecx + edx*4 + 0x3ddf0], eax
mov edx, 0xffffffff
cmove eax, edx
mov dword [esi + ecx + 0xef64], eax
mov eax, dword [ecx + 0xf45c]
mov dword [esi + ecx + 0xef5c], eax
mov esi, dword [ecx + 0xf45c]
call fcn.0041f730
mov ecx, dword [ebp - 0x170]
add eax, esi
mov edx, dword [ebp - 0x17c]
push 0x2b
mov dword [edx + ecx + 0xef60], eax
call fcn.00425330
mov ecx, dword [ebp - 0x17c]
mov esi, dword [ebp - 0x170]
mov dword [ecx + esi + 0xef74], eax
mov eax, dword [edi + 0x1c]
mov ecx, dword [ebp - 0x180]
cmp eax, 0xffffffff
je 0x4204f1
mov dword [esi + ecx*4 + 0x3ddf0], eax
mov eax, dword [edi + 0x10]
mov dword [esi + ecx*4 + 0x3de08], eax
jmp case.0x420286.3
mov edx, dword [edi + 0x1c]
cmp edx, 0x270f
ja 0x4202f9
cmp byte [eax + 0xc836a], 0
je 0x420533
mov esi, dword [ebp - 0x170]
mov eax, dword [edi + 0x10]
mov byte [ebp - 0x175], 0
mov dword [esi + 0x146dc], eax
jmp case.0x420286.3
mov ecx, dword [ebp - 0x170]
mov eax, edx
shl eax, 5
cmp dword [eax + ecx + 0x73574], 6
je 0x420569
push str.SCRIPT:
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
push dword [edi + 0x10]
push edx
call fcn.00430190
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov ecx, dword [edi + 0x1c]
mov dword [eax + 0x3de84], ecx
cmp dword [edi + 0x1c], 0xffffffff
mov byte [ebp - 0x16b], 1
je 0x4205c0
push ecx
mov ecx, eax
call fcn.0041bc40
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
cmp byte [eax + 0xc8450], 0
jne 0x4205c0
lea ecx, [eax + 0x8734]
call fcn.00457ee0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
cmp byte [eax + 0xc836a], 0
mov ch, 1
mov byte [ebp - 0x16b], ch
je 0x420610
mov esi, dword [ebp - 0x170]
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3de6c], eax
jmp 0x42040f
push dword [edi + 0x1c]
mov ecx, eax
call fcn.00441420
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
cmp byte [eax + 0xc836a], 0
mov ch, 1
mov byte [ebp - 0x16b], ch
je 0x420656
mov esi, dword [ebp - 0x170]
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3de6c], eax
jmp 0x42040f
push dword [edi + 0x1c]
mov ecx, eax
call fcn.00440fd0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
cmp byte [eax + 0xc836a], 0
mov ch, 1
mov byte [ebp - 0x16b], ch
je 0x4206a3
mov esi, dword [ebp - 0x170]
mov edi, dword [ebp - 0x174]
mov dword [eax + 0x3de6c], 0xffffffff
jmp 0x420415
push 0xffffffffffffffff
jmp 0x420613
cmp byte [eax + 0xc836a], 0
mov ch, 1
mov byte [ebp - 0x16b], ch
je 0x4206d6
mov esi, dword [ebp - 0x170]
mov edi, dword [ebp - 0x174]
mov dword [eax + 0x3de6c], 0xffffffff
jmp 0x420415
push 0xffffffffffffffff
mov ecx, eax
call fcn.00440fd0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
cmp byte [ebp - 0x177], 0
mov ch, 1
mov byte [ebp - 0x16b], ch
jne 0x420720
cmp byte [eax + 0xc836a], 0
jne 0x420720
push dword [edi + 0x1c]
mov ecx, eax
call fcn.00441570
mov ch, byte [ebp - 0x16b]
mov esi, dword [ebp - 0x170]
mov edi, dword [ebp - 0x174]
mov byte [ebp - 0x177], 1
jmp 0x420415
cmp byte [eax + 0xc836a], 0
mov ch, 1
mov byte [ebp - 0x16b], ch
je 0x420763
mov esi, dword [ebp - 0x170]
mov eax, dword [edi + 0x1c]
mov byte [ebp - 0x177], ch
mov dword [esi + 0x3de7c], eax
jmp 0x42040f
cmp byte [ebp - 0x177], 0
jne 0x42077c
push dword [edi + 0x1c]
mov ecx, eax
call fcn.00441690
mov ch, byte [ebp - 0x16b]
mov esi, dword [ebp - 0x170]
mov byte [ebp - 0x177], 1
jmp 0x42040f
cmp byte [eax + 0xc836a], 0
mov ch, 1
mov byte [ebp - 0x16b], ch
je 0x4207ba
mov esi, dword [ebp - 0x170]
mov edi, dword [ebp - 0x174]
mov dword [eax + 0x3de7c], 0xffffffff
jmp 0x420415
mov ecx, eax
call fcn.004417c0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
cmp byte [eax + 0xc836a], 0
mov ch, 1
mov byte [ebp - 0x16b], ch
je 0x4207fd
mov esi, dword [ebp - 0x170]
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3de80], eax
jmp 0x42040f
push 1
push dword [edi + 0x1c]
mov ecx, eax
call fcn.00441a60
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
cmp byte [eax + 0xc836a], 0
jne case.0x420840.6
mov eax, dword [edi + 0x1c]
cmp eax, 0x16
ja case.0x420840.6
movzx eax, byte [eax + 0x424e7c]
jmp dword [eax*4 + 0x424e4c]
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 1
call fcn.00414aa0
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00414ae0
mov byte [ebp - 0x176], 1
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00413450
mov byte [ebp - 0x176], 1
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 0x80000000
push 1
call fcn.00413eb0
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 0
call fcn.00414ce0
mov byte [ebp - 0x176], 1
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 0
call fcn.00414aa0
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00412bd0
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00414420
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00415bd0
mov byte [ebp - 0x176], 1
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00415db0
mov byte [ebp - 0x176], 1
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00415f10
mov byte [ebp - 0x176], 1
jmp case.0x420286.3
cmp byte [eax + 0xc836a], 0
je 0x420968
mov esi, dword [ebp - 0x170]
mov eax, dword [edi + 0x14]
mov byte [ebp - 0x175], 0
mov dword [esi + 0x146dc], eax
jmp case.0x420286.3
mov ecx, dword [edi + 0x1c]
mov byte [ebp - 0x176], 1
cmp ecx, 0x1d
ja case.0x420982.8
movzx eax, byte [ecx + 0x424ec0]
jmp dword [eax*4 + 0x424e94]
push dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.004138f0
jmp case.0x420286.3
push dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 2
call fcn.00413eb0
jmp case.0x420286.3
push dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 1
call fcn.00413eb0
jmp case.0x420286.3
push dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 0
call fcn.004148f0
jmp case.0x420286.3
push dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 1
call fcn.004148f0
jmp case.0x420286.3
push dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 2
call fcn.004148f0
jmp case.0x420286.3
push dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 3
call fcn.004148f0
jmp case.0x420286.3
push dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
lea eax, [ecx - 0xa]
push eax
mov ecx, esi
call fcn.004162f0
jmp case.0x420286.3
push dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
lea eax, [ecx - 0x14]
push eax
mov ecx, esi
call fcn.00416130
jmp case.0x420286.3
push dword [edi + 0x14]
push ecx
sub esp, 0x18
mov ecx, esp
push 0x4d7e34
call fcn.0046a550
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046b5b0
add esp, 0x24
lea ecx, [ebp - 0x1b4]
call fcn.0046aae0
mov esi, dword [ebp - 0x170]
mov ecx, esi
push eax
call fcn.00450ea0
mov byte [ebp - 0x176], 0
jmp case.0x420286.3
mov eax, dword [edi + 0x1c]
add eax, 0xfffffff6
cmp eax, 0xc2
ja case.0x420840.6
movzx eax, byte [eax + 0x424fd0]
jmp dword [eax*4 + 0x424ee0]
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x190], eax
call fcn.0046be30
mov ecx, dword [ebp - 0x190]
movzx edx, ax
mov dword [ebp - 0x18c], edx
test ecx, ecx
jle 0x420aec
mov eax, edx
cdq
idiv ecx
mov dword [ebp - 0x18c], edx
mov esi, dword [ebp - 0x170]
mov dword [esi + 0x3dea4], edx
jmp case.0x420286.3
mov eax, dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
sub eax, 0
je 0x420b3a
sub eax, 1
je 0x420b27
sub eax, 1
jne 0x420b43
mov ecx, esi
mov byte [esi + 0xc8368], al
call fcn.00453340
jmp case.0x420286.3
mov ecx, esi
mov byte [esi + 0xc8369], 0
call fcn.00453340
jmp case.0x420286.3
mov word [esi + 0xc8368], 0
mov ecx, esi
call fcn.00453340
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
xor ecx, ecx
mov edx, dword [edi + 0x14]
mov eax, 2
mov dword [ebp - 0x190], edx
cmp byte [esi + 0xc8368], cl
cmovne ecx, eax
xor eax, eax
cmp byte [esi + 0xc8369], al
setne al
or ecx, eax
mov dword [ebp - 0x18c], ecx
cmp edx, 0x3e7
ja case.0x420286.3
push ecx
push edx
mov ecx, esi
call fcn.00425230
jmp case.0x420286.3
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x190], eax
cmp eax, 0x3e7
ja case.0x420840.6
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00425330
mov edx, dword [ebp - 0x170]
mov cl, al
mov dword [ebp - 0x18c], eax
and cl, 1
shr eax, 1
and al, 1
mov byte [edx + 0xc8369], cl
mov ecx, edx
mov byte [edx + 0xc8368], al
call fcn.00453340
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
push dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.004466b0
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00446860
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
xor edi, edi
nop dword [eax]
push edi
mov ecx, esi
call fcn.004256c0
inc edi
cmp edi, 6
jl 0x420c30
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.004418f0
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00441b50
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
xor edx, edx
lea ecx, [esi + 0x3de08]
cmp dword [ecx - 0x18], 0xffffffff
je 0x420c82
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x420c8b
inc edx
add ecx, 4
cmp edx, 6
jl 0x420c75
cmp edx, 6
jne 0x420c9a
push 0x4d7e60
jmp 0x420402
mov eax, edx
shl eax, 7
mov byte [eax + esi + 0xef6c], 1
mov dword [esi + edx*4 + 0x3de50], 1
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
xor edx, edx
lea ecx, [esi + 0x3de08]
cmp dword [ecx - 0x18], 0xffffffff
je 0x420cd2
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x420cdb
inc edx
add ecx, 4
cmp edx, 6
jl 0x420cc5
cmp edx, 6
jne 0x420cea
push 0x4d7e98
jmp 0x420402
mov eax, edx
shl eax, 7
mov byte [eax + esi + 0xef6c], 0
mov dword [esi + edx*4 + 0x3de50], 0
jmp case.0x420286.3
mov ecx, dword [ebp - 0x170]
xor edx, edx
lea esi, [ecx + 0x3de08]
cmp dword [esi - 0x18], 0xffffffff
je 0x420d22
mov eax, dword [edi + 0x14]
cmp eax, dword [esi]
je 0x420d2b
inc edx
add esi, 4
cmp edx, 6
jl 0x420d15
cmp edx, 6
jne 0x420d51
push 0x4d7ed0
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
shl edx, 7
mov dword [ebp - 0x17c], edx
mov dword [edx + ecx + 0xef70], 1
call fcn.00452e80
mov ecx, 0x14
mov esi, dword [ebp - 0x170]
mov edi, dword [ebp - 0x17c]
mov dword [edi + esi + 0xef5c], eax
call fcn.0041f810
add eax, dword [edi + esi + 0xef5c]
mov dword [edi + esi + 0xef60], eax
jmp case.0x420286.3
mov ecx, dword [ebp - 0x170]
xor edx, edx
lea esi, [ecx + 0x3de08]
cmp dword [esi - 0x18], 0xffffffff
je 0x420db5
mov eax, dword [edi + 0x14]
cmp eax, dword [esi]
je 0x420dbe
inc edx
add esi, 4
cmp edx, 6
jl 0x420da8
cmp edx, 6
jne 0x420de4
push 0x4d7f08
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
shl edx, 7
mov dword [ebp - 0x17c], edx
mov dword [edx + ecx + 0xef70], 2
call fcn.00452e80
mov ecx, 0x1e
jmp 0x420d6f
mov esi, dword [ebp - 0x170]
xor ecx, ecx
lea edx, [esi + 0x3de08]
cmp dword [edx - 0x18], 0xffffffff
je 0x420e22
mov eax, dword [edi + 0x14]
cmp eax, dword [edx]
je 0x420e2b
inc ecx
add edx, 4
cmp ecx, 6
jl 0x420e15
cmp ecx, 6
jne 0x420e3a
push 0x4d7dd8
jmp 0x420402
shl ecx, 7
mov dword [ebp - 0x17c], ecx
cmp dword [ecx + esi + 0xef64], 0xffffffff
mov dword [ecx + esi + 0xef70], 8
jne case.0x420286.3
mov ecx, esi
call fcn.00452e80
mov ecx, dword [ebp - 0x17c]
mov dword [ecx + esi + 0xef5c], eax
add eax, 0x1e
mov dword [ecx + esi + 0xef60], eax
jmp case.0x420286.3
mov ecx, dword [ebp - 0x170]
xor edx, edx
lea esi, [ecx + 0x3de08]
nop dword [eax]
cmp dword [esi - 0x18], 0xffffffff
je 0x420e9d
mov eax, dword [edi + 0x14]
cmp eax, dword [esi]
je 0x420ea6
inc edx
add esi, 4
cmp edx, 6
jl 0x420e90
cmp edx, 6
jne 0x420ecc
push 0x4d7f44
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
shl edx, 7
mov dword [ebp - 0x17c], edx
mov dword [edx + ecx + 0xef70], 6
call fcn.00452e80
mov esi, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x17c]
mov dword [ecx + esi + 0xef5c], eax
add eax, 0x3c
mov dword [ecx + esi + 0xef60], eax
jmp case.0x420286.3
mov ecx, dword [ebp - 0x170]
xor esi, esi
lea edx, [ecx + 0x3de08]
cmp dword [edx - 0x18], 0xffffffff
je 0x420f22
mov eax, dword [edi + 0x14]
cmp eax, dword [edx]
je 0x420f2b
inc esi
add edx, 4
cmp esi, 6
jl 0x420f15
mov dword [ebp - 0x17c], esi
cmp esi, 6
jne 0x420f57
push 0x4d7dd8
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
shl esi, 7
mov byte [esi + ecx + 0xef6d], 1
call fcn.00452e80
mov ecx, dword [ebp - 0x170]
push 0
push 0x1f
push str.kiaiyuge.kg
mov dword [esi + ecx + 0xef78], eax
mov eax, dword [ebp - 0x17c]
mov dword [esi + ecx + 0xef7c], 0x3c
mov dword [ecx + eax*4 + 0x3de50], 2
call fcn.0041b880
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 0
push 0xd
push str.kiaiyuge_mask.kg
call fcn.0041b880
jmp case.0x420286.3
mov ecx, dword [ebp - 0x170]
xor esi, esi
lea edx, [ecx + 0x3de08]
cmp dword [edx - 0x18], 0xffffffff
je 0x420fd4
mov eax, dword [edi + 0x14]
cmp eax, dword [edx]
je 0x420fdd
inc esi
add edx, 4
cmp esi, 6
jl 0x420fc7
cmp esi, 6
jne 0x421003
push 0x4d7dd8
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, esi
shl eax, 7
cmp byte [eax + ecx + 0xef6d], 0
jne 0x421033
push 0x4d7f7c
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov byte [eax + ecx + 0xef6d], 0
mov dword [ecx + esi*4 + 0x3de50], 0
call fcn.00401c70
mov esi, dword [ebp - 0x170]
lea ecx, [esi + 0x6514]
call fcn.00457ee0
lea ecx, [esi + 0x35d4]
call fcn.00457ee0
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 0
call fcn.004265a0
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00426710
jmp case.0x420286.3
push dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.004135d0
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00413740
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
cmp byte [esi + 0xc836a], 0
jne case.0x420286.3
mov edx, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
call fcn.00408f00
call fcn.004098f0
mov dword [esi + 0x3dd78], 0x4b0
jmp case.0x420286.3
mov eax, dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
cmp eax, 0x63
ja 0x42030b
push 1
push eax
mov ecx, esi
call fcn.004169a0
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00413740
jmp case.0x420286.3
mov eax, dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
cmp eax, 0x63
ja 0x42030b
push 0
push eax
mov ecx, esi
call fcn.004169a0
jmp case.0x420286.3
push dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00413b60
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.0042fc50
push 0
mov ecx, esi
call fcn.00412590
push 0
lea ecx, [esi + 0xf47c]
call fcn.004078a0
mov word [esi + 0xf295], 0x100
mov ch, 1
jmp 0x42040f
mov ecx, dword [ebp - 0x170]
call fcn.0042fc50
mov ecx, dword [ebp - 0x170]
push 1
call fcn.00412590
mov eax, dword [ebp - 0x170]
cmp byte [eax + 0xc8248], 0
lea ecx, [eax + 0xf47c]
jne 0x4211d6
push 0
call fcn.004078a0
mov esi, dword [ebp - 0x170]
mov ch, 1
mov byte [esi + 0xf295], 0
mov byte [esi + 0xf296], 0
jmp 0x42040f
push 1
call fcn.004078a0
mov esi, dword [ebp - 0x170]
mov ch, 1
mov byte [esi + 0xf295], 1
mov byte [esi + 0xf296], 0
jmp 0x42040f
mov esi, dword [ebp - 0x170]
mov eax, dword [edi + 0x14]
mov dword [esi + 0x3de88], eax
jmp case.0x420286.3
mov eax, dword [ebp - 0x170]
mov ecx, eax
cmp byte [eax + 0xc836a], 0
je 0x42126c
push dword [edi + 0x14]
call fcn.004480e0
mov ecx, dword [ebp - 0x170]
mov edi, eax
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
push esi
call fcn.00448010
mov ecx, dword [ebp - 0x170]
imul eax, esi, 0x64
sub edi, eax
push edi
call fcn.00448080
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
call fcn.00447f70
mov ecx, dword [ebp - 0x170]
imul esi, eax, 0x64
call fcn.00447fc0
mov ecx, dword [ebp - 0x170]
add eax, esi
push eax
mov eax, dword [ebp - 0x17c]
push dword [eax + 0x14]
call fcn.0040ae40
mov ecx, dword [ebp - 0x170]
push 0xf
call fcn.0041e400
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov ecx, dword [ebp - 0x170]
call fcn.00447f70
mov ecx, dword [ebp - 0x170]
imul esi, eax, 0x64
call fcn.00447fc0
lea ecx, [esi + eax]
mov eax, dword [ebp - 0x17c]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x170]
add edx, ecx
cmp byte [eax + 0xc836a], 0
je 0x42133f
push edx
mov ecx, eax
call fcn.004480e0
mov ecx, dword [ebp - 0x170]
mov edi, eax
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
push esi
call fcn.00448010
mov ecx, dword [ebp - 0x170]
imul eax, esi, 0x64
sub edi, eax
push edi
call fcn.00448010
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
push ecx
push edx
mov ecx, eax
call fcn.0040ae40
mov ecx, dword [ebp - 0x170]
push 0xf
call fcn.0041e400
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
push dword [edi + 0x14]
mov ecx, dword [ebp - 0x170]
call fcn.004481b0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
push dword [edi + 0x14]
mov ecx, dword [ebp - 0x170]
call fcn.004482f0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [edi + 0x14]
cmp eax, 3
ja 0x421409
mov ecx, dword [ebp - 0x170]
push eax
push 0x1a
call fcn.00425230
mov ecx, dword [ebp - 0x170]
push 0x17
call fcn.00425330
mov ecx, dword [ebp - 0x170]
test eax, eax
setne al
movzx eax, al
push eax
call fcn.00447520
call fcn.0041f930
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
lea ecx, [ebp - 0x218]
call fcn.0046a4d0
mov byte [ebp - 4], 1
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4d7fa8
call fcn.0046a550
lea eax, [ebp - 0x218]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x218]
call fcn.0046aae0
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00450ea0
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 0
call fcn.0046a630
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov ecx, dword [ebp - 0x170]
call fcn.0042fe80
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [edi + 0x14]
cmp eax, 1
ja 0x4214db
mov ecx, dword [ebp - 0x170]
push eax
push 0x1b
call fcn.00425230
cmp dword [edi + 0x14], 1
mov ecx, dword [ebp - 0x170]
sete al
movzx eax, al
push eax
call fcn.00404080
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
lea ecx, [ebp - 0x230]
call fcn.0046a4d0
mov byte [ebp - 4], 2
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4d7fdc
call fcn.0046a550
lea eax, [ebp - 0x230]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x230]
call fcn.0046aae0
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00450ea0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0
call fcn.0046a630
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
push dword [edi + 0x10]
mov ecx, dword [ebp - 0x170]
push dword [edi + 0x14]
push 0
push 0
call fcn.00414ec0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
push dword [edi + 0x10]
mov ecx, dword [ebp - 0x170]
push dword [edi + 0x14]
push 0
push 1
call fcn.00414ec0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
push dword [edi + 0x10]
mov ecx, dword [ebp - 0x170]
push dword [edi + 0x14]
push 0
push 2
call fcn.00414ec0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
push dword [edi + 0x10]
mov ecx, dword [ebp - 0x170]
push dword [edi + 0x14]
push 0
push 3
call fcn.00414ec0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov edi, dword [edi + 0x14]
mov dword [ebp - 0x180], edi
cmp edi, 0x3e4
ja 0x4216d8
cmp edi, 0x64
jge 0x421649
mov ecx, dword [ebp - 0x170]
call fcn.00456130
mov ecx, dword [ebp - 0x170]
push edi
push 0x1e
call fcn.00425230
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
mov byte [ebp - 0x175], 1
jmp 0x420415
mov esi, dword [ebp - 0x170]
mov ecx, esi
push edi
call fcn.00425330
lea ecx, [edi + 1]
mov dword [ebp - 0x17c], eax
push ecx
mov ecx, esi
call fcn.00425330
mov ecx, dword [ebp - 0x180]
mov edi, eax
add ecx, 2
push ecx
mov ecx, esi
call fcn.00425330
mov ecx, dword [ebp - 0x180]
mov esi, eax
add ecx, 3
push ecx
mov ecx, dword [ebp - 0x170]
call fcn.00425330
mov ecx, dword [ebp - 0x170]
push eax
push esi
push edi
push dword [ebp - 0x17c]
call fcn.00456170
mov edi, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x170]
push edi
push 0x1e
call fcn.00425230
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
mov byte [ebp - 0x175], 1
jmp 0x420415
mov ecx, dword [ebp - 0x170]
push 0x4d7ffc
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x17c], eax
cmp eax, 0x3e4
ja 0x4216d8
mov eax, dword [edi + 0x10]
xor edx, edx
test eax, eax
mov edi, dword [ebp - 0x17c]
cmovns edx, eax
mov eax, 0x10624dd3
mov ecx, edx
shl ecx, 4
sub ecx, edx
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 0x421769
mov eax, dword [ebp - 0x170]
xor ecx, ecx
xor edx, edx
mov edi, dword [eax + 0xc7f90]
mov esi, dword [eax + 0xc7f8c]
mov dword [ebp - 0x180], edi
mov edi, dword [ebp - 0x17c]
jmp 0x4217c4
mov esi, dword [ebp - 0x170]
mov ecx, esi
push edi
call fcn.00425330
lea ecx, [edi + 1]
mov dword [ebp - 0x17c], eax
push ecx
mov ecx, esi
call fcn.00425330
lea ecx, [edi + 2]
mov dword [ebp - 0x1b8], eax
push ecx
mov ecx, esi
call fcn.00425330
lea ecx, [edi + 3]
mov dword [ebp - 0x1bc], eax
push ecx
mov ecx, esi
call fcn.00425330
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x180], eax
mov eax, esi
mov esi, dword [ebp - 0x1bc]
push dword [ebp - 0x188]
push dword [ebp - 0x180]
push esi
push edx
push ecx
mov ecx, eax
call fcn.004561d0
mov ecx, dword [ebp - 0x170]
push edi
push 0x1e
call fcn.00425230
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
mov byte [ebp - 0x175], 1
jmp 0x420415
sub esp, 0xc
mov ecx, esp
push 1
call fcn.0046ba90
mov eax, dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
lea eax, [eax + eax*2]
add eax, 0x170c3
lea ecx, [esi + eax*4]
call fcn.0046bab0
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
cmp byte [esi + 0xc836b], 0
je 0x421180
mov ecx, esi
call fcn.0042fc50
push 1
mov ecx, esi
call fcn.00412590
mov eax, esi
cmp byte [eax + 0xc8248], 0
lea esi, [eax + 0xf47c]
mov ecx, esi
jne 0x421871
mov byte [eax + 0xf295], 0
push 0
jmp 0x42187a
mov byte [eax + 0xf295], 1
push 1
call fcn.004078a0
mov eax, dword [ebp - 0x170]
mov ecx, esi
mov byte [ebp - 0x169], 1
mov byte [eax + 0xf296], 0
mov dword [eax + 0x3dd78], 0
call fcn.00406e90
mov ecx, dword [ebp - 0x170]
call fcn.0041e440
mov ecx, dword [ebp - 0x170]
push 1
call fcn.004125f0
mov esi, dword [ebp - 0x170]
cmp byte [esi + 0xc836a], 0
mov word [esi + 0xc836b], 0
mov byte [esi + 0xc836d], 0
mov word [esi + 0xc8368], 0
je 0x4218e9
call fcn.0041f560
mov ch, byte [ebp - 0x16b]
lea edi, [esi + 0x3dca8]
mov al, 1
mov dl, al
jmp 0x420421
mov ecx, dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
mov eax, dword [edi + 0x10]
mov dword [esi + ecx*4 + 0xc8370], eax
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
cmp byte [esi + 0xc836b], 0
je case.0x420286.3
mov ecx, esi
mov dword [esi + 0xc836b], 0x1000000
call fcn.00401c70
mov eax, esi
lea ecx, [eax + 0xf47c]
call fcn.00406e90
mov ecx, esi
call fcn.00403f80
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [edi + 0x14]
mov esi, dword [ebp - 0x170]
lea eax, [eax + eax*2]
lea eax, [eax + 0x170c3]
lea ecx, [esi + eax*4]
call fcn.00403f30
mov dword [esi + 0x3dea4], eax
jmp case.0x420286.3
mov eax, dword [ebp - 0x170]
add eax, 0x5c30c
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 5
mov edi, eax
nop word [eax + eax]
push 1
lea ecx, [ebp - 0x1d0]
call fcn.0046ba90
sub esp, 0xc
mov byte [ebp - 4], 3
mov ecx, eax
mov esi, esp
call fcn.00403f30
push eax
mov ecx, esi
call fcn.0046ba90
mov ecx, edi
call fcn.0046bae0
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 0x16b], al
mov byte [ebp - 4], 0
call fcn.00412b10
cmp byte [ebp - 0x16b], 0
mov ecx, dword [ebp - 0x180]
je 0x421a07
inc ecx
mov dword [ebp - 0x180], ecx
add edi, 0xc
sub dword [ebp - 0x17c], 1
jne 0x4219b0
mov edi, dword [ebp - 0x170]
xor eax, eax
cmp ecx, 5
mov ecx, edi
sete al
push eax
push 0xe
mov dword [edi + 0x3dea4], eax
call fcn.00425230
mov eax, edi
mov ecx, eax
push dword [eax + 0x3dea4]
push 0x10
call fcn.00425230
mov esi, edi
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [ebp - 0x170]
add eax, 0x5c30c
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 5
mov edi, eax
push 1
lea ecx, [ebp - 0x1dc]
call fcn.0046ba90
sub esp, 0xc
mov byte [ebp - 4], 4
mov ecx, eax
mov esi, esp
call fcn.00403f30
push eax
mov ecx, esi
call fcn.0046ba90
mov ecx, edi
call fcn.0046bae0
lea ecx, [ebp - 0x1dc]
mov byte [ebp - 0x16b], al
mov byte [ebp - 4], 0
call fcn.00412b10
cmp byte [ebp - 0x16b], 0
mov ecx, dword [ebp - 0x180]
je 0x421ac9
inc ecx
mov dword [ebp - 0x180], ecx
add edi, 0xc
sub dword [ebp - 0x17c], 1
jne 0x421a72
mov edi, dword [ebp - 0x170]
xor eax, eax
cmp ecx, 5
mov ecx, edi
sete al
push eax
push 0xe
mov dword [edi + 0x3dea4], eax
call fcn.00425230
mov eax, edi
mov ecx, eax
push dword [eax + 0x3dea4]
push 0x10
call fcn.00425230
mov esi, edi
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
push dword [edi + 0x10]
mov ecx, dword [ebp - 0x170]
push dword [edi + 0x14]
push 1
push 0
call fcn.00414ec0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
push dword [edi + 0x10]
mov ecx, dword [ebp - 0x170]
push dword [edi + 0x14]
push 1
push 1
call fcn.00414ec0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
push dword [edi + 0x10]
mov ecx, dword [ebp - 0x170]
push dword [edi + 0x14]
push 1
push 2
call fcn.00414ec0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
push dword [edi + 0x10]
mov ecx, dword [ebp - 0x170]
push dword [edi + 0x14]
push 1
push 3
call fcn.00414ec0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov esi, dword [ebp - 0x170]
cmp byte [esi + 0xc836a], 0
je case.0x420286.3
call fcn.0041f560
jmp case.0x420286.3
mov ecx, dword [ebp - 0x170]
xor esi, esi
lea edx, [ecx + 0x3de08]
nop
cmp dword [edx - 0x18], 0xffffffff
je 0x421bfd
mov eax, dword [edi + 0x14]
cmp eax, dword [edx]
je 0x421c06
inc esi
add edx, 4
cmp esi, 6
jl 0x421bf0
cmp esi, 6
jne 0x421c5a
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4d8020
call fcn.0046a550
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0046aae0
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov edi, dword [edi + 0x10]
cmp edi, 0xffffffff
jne 0x421c91
mov eax, esi
shl eax, 7
mov dword [eax + ecx + 0xefb4], edi
call fcn.00401c70
imul eax, esi, 0x2a0
mov esi, dword [ebp - 0x170]
lea ecx, [esi + 0x6f94]
add ecx, eax
call fcn.00457ee0
jmp case.0x420286.3
lea ecx, [ebp - 0x194]
call fcn.0041d9a0
mov eax, dword [ebp - 0x170]
lea ecx, [ebp - 0x1c0]
add eax, 0x14764
push ecx
mov ecx, eax
mov dword [ebp - 0x180], eax
call fcn.0041d940
mov ecx, dword [ebp - 0x180]
mov eax, dword [eax]
mov dword [ebp - 0x194], eax
lea eax, [ebp - 0x19c]
push eax
call fcn.0041d930
push eax
lea ecx, [ebp - 0x194]
call fcn.0041d950
test al, al
je 0x421d63
lea ecx, [ebp - 0x194]
call fcn.0041d990
lea ecx, [ebp - 0x194]
cmp dword [eax], edi
je 0x421d2c
push 0
lea eax, [ebp - 0x1c4]
push eax
call fcn.0041d970
mov ecx, dword [ebp - 0x180]
lea eax, [ebp - 0x19c]
push eax
call fcn.0041d930
push eax
lea ecx, [ebp - 0x194]
call fcn.0041d950
test al, al
jne 0x421ce5
jmp 0x421d63
call fcn.0041d990
mov ecx, dword [ebp - 0x170]
mov edx, esi
shl edx, 7
movups xmm0, xmmword [eax]
movups xmmword [edx + ecx + 0xefb4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [edx + ecx + 0xefc4], xmm0
call fcn.00401c70
mov edx, edi
mov ecx, esi
call fcn.0041a000
mov ecx, dword [ebp - 0x180]
lea eax, [ebp - 0x198]
push eax
call fcn.0041d930
push eax
lea ecx, [ebp - 0x194]
call fcn.0041d9b0
test al, al
je case.0x420840.6
push edi
sub esp, 0x18
mov ecx, esp
push 0x4d8058
call fcn.0046a550
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0046aae0
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov ecx, dword [ebp - 0x170]
xor edx, edx
add ecx, 0x3de08
cmp dword [ecx - 0x18], 0xffffffff
je 0x421df1
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x421dfa
inc edx
add ecx, 4
cmp edx, 6
jl 0x421de4
cmp edx, 6
jne 0x421e4e
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4d8088
call fcn.0046a550
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0046aae0
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [ebp - 0x170]
shl edx, 7
cmp dword [edx + eax + 0xefb4], 0xffffffff
jne 0x421eb0
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4d80c8
call fcn.0046a550
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0046aae0
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov esi, dword [ebp - 0x170]
mov eax, dword [edi + 0x10]
mov dword [edx + esi + 0xefb8], eax
jmp case.0x420286.3
mov ecx, dword [ebp - 0x170]
xor edx, edx
add ecx, 0x3de08
cmp dword [ecx - 0x18], 0xffffffff
je 0x421ee0
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x421ee9
inc edx
add ecx, 4
cmp edx, 6
jl 0x421ed3
cmp edx, 6
jne 0x421f3d
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4d8108
call fcn.0046a550
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0046aae0
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [ebp - 0x170]
shl edx, 7
cmp dword [edx + eax + 0xefb4], 0xffffffff
jne 0x421f9f
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4d8148
call fcn.0046a550
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0046aae0
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov esi, dword [ebp - 0x170]
mov eax, dword [edi + 0x10]
mov dword [edx + esi + 0xefbc], eax
jmp case.0x420286.3
mov eax, dword [ebp - 0x170]
xor edx, edx
lea ecx, [eax + 0x3de08]
cmp dword [ecx - 0x18], 0xffffffff
je 0x421fcf
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x421fd8
inc edx
add ecx, 4
cmp edx, 6
jl 0x421fc2
cmp edx, 6
jne 0x42202c
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4d8184
call fcn.0046a550
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0046aae0
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov esi, dword [ebp - 0x170]
shl edx, 7
cmp dword [edx + esi + 0xefb4], 0xffffffff
jne 0x422084
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4d81c4
call fcn.0046a550
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0046aae0
push eax
mov ecx, esi
call fcn.00450ea0
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
movd xmm0, dword [edi + 0x10]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x4dbaf4]
movss dword [edx + esi + 0xefc0], xmm0
jmp case.0x420286.3
mov ecx, dword [ebp - 0x170]
xor edx, edx
add ecx, 0x3de08
cmp dword [ecx - 0x18], 0xffffffff
je 0x4220bd
mov eax, dword [edi + 0x14]
cmp eax, dword [ecx]
je 0x4220c6
inc edx
add ecx, 4
cmp edx, 6
jl 0x4220b0
cmp edx, 6
jne 0x42211a
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4d8200
call fcn.0046a550
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0046aae0
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [ebp - 0x170]
shl edx, 7
cmp dword [edx + eax + 0xefb4], 0xffffffff
jne 0x42217c
push dword [edi + 0x14]
sub esp, 0x18
mov ecx, esp
push 0x4d8244
call fcn.0046a550
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0046aae0
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov esi, dword [ebp - 0x170]
mov eax, dword [edi + 0x10]
mov dword [edx + esi + 0xefc4], eax
jmp case.0x420286.3
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
mov dword [eax + 0x146dc], 0x80000001
jmp 0x420415
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
mov dword [eax + 0x146dc], 0x80000000
jmp 0x420415
cmp byte [eax + 0xc836a], 0
mov byte [ebp - 0x176], 1
je 0x4221f6
mov esi, dword [ebp - 0x170]
mov eax, dword [edi + 0x1c]
mov byte [ebp - 0x175], 0
mov dword [esi + 0x146dc], eax
jmp case.0x420286.3
push dword [edi + 0x1c]
mov ecx, eax
call fcn.004138f0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
cmp byte [eax + 0xc836a], 0
mov byte [ebp - 0x176], 1
je 0x42224f
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
mov dword [eax + 0x146dc], 0x80000001
mov byte [ebp - 0x175], 0
jmp 0x420415
push 0x80000001
mov ecx, eax
call fcn.004138f0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
cmp byte [eax + 0xc836a], 0
mov byte [ebp - 0x176], 1
je 0x4222aa
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
mov dword [eax + 0x146dc], 0x80000000
mov byte [ebp - 0x175], 0
jmp 0x420415
push 0x80000000
mov ecx, eax
call fcn.004138f0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov ecx, dword [edi + 0x1c]
cmp ecx, 0xffffffff
jne 0x4222f9
mov esi, dword [ebp - 0x170]
mov edi, dword [ebp - 0x174]
mov dword [eax + 0x3de68], ecx
mov ch, byte [ebp - 0x16b]
mov byte [eax + 0xf38c], 0
jmp 0x420415
mov edx, ecx
test ecx, ecx
js 0x422332
cmp ecx, 0x2710
jge 0x422332
sub esp, 0xc
mov ecx, esp
push 1
call fcn.0046ba90
mov eax, dword [edi + 0x1c]
mov esi, dword [ebp - 0x170]
lea eax, [eax + eax*2]
lea eax, [eax + 0xfb93]
lea ecx, [esi + eax*4]
call fcn.0046bab0
mov edx, dword [edi + 0x1c]
mov eax, esi
push dword [edi + 0x14]
mov ecx, eax
push dword [edi + 0x10]
push edx
call fcn.004083e0
mov esi, dword [ebp - 0x170]
mov eax, dword [edi + 0x1c]
cmp byte [esi + 0xc836a], 0
mov dword [esi + 0x3de68], eax
jne case.0x420286.3
push 0xe
mov ecx, esi
call fcn.0041e400
mov dword [esi + 0x3dda0], 0
jmp case.0x420286.3
cmp byte [eax + 0xc836a], 0
jne case.0x420840.6
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jne 0x4223b1
mov esi, dword [ebp - 0x170]
mov dl, 1
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
mov byte [ebp - 0x169], dl
mov dword [eax + 0x3dd78], 0xc8
jmp 0x42041b
mov byte [0x5d787a], 1
mov ecx, eax
jle 0x4223ff
mov byte [0x5d787b], 0
call fcn.00452e80
mov ecx, dword [edi + 0x1c]
mov esi, eax
mov eax, 0x51eb851f
lea ecx, [ecx + ecx*2]
add ecx, ecx
imul ecx
sar edx, 5
mov eax, edx
add esi, edx
shr eax, 0x1f
add eax, esi
mov esi, dword [ebp - 0x170]
mov dword [0x5d787c], eax
mov dword [esi + 0x3dd78], 0x3e8
jmp case.0x420286.3
mov byte [0x5d787b], 1
call fcn.00452e80
mov ecx, dword [edi + 0x1c]
mov esi, eax
mov eax, 0x51eb851f
lea ecx, [ecx + ecx*2]
add ecx, ecx
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov dword [0x5d787c], esi
mov esi, dword [ebp - 0x170]
mov dword [esi + 0x3dd78], 0x3e8
jmp case.0x420286.3
cmp byte [eax + 0xc836a], 0
jne case.0x420840.6
push 0xb
mov ecx, eax
mov byte [ebp - 0x169], 1
call fcn.0041e400
mov esi, dword [ebp - 0x170]
mov dword [esi + 0x3dd94], 0
mov dword [esi + 0x3dd78], 0
jmp case.0x420286.3
push dword [edi + 0x10]
mov ecx, eax
mov byte [ebp - 0x16b], 1
push dword [edi + 0x1c]
call fcn.00425230
cmp dword [edi + 0x1c], 0x17
jne 0x4224b0
cmp dword [edi + 0x10], 1
mov ecx, dword [ebp - 0x170]
jne 0x4224a9
push 1
jmp 0x4224ab
push 0
call fcn.00447520
cmp dword [edi + 0x1c], 0x14
jne case.0x420840.6
cmp dword [edi + 0x10], 0
mov ecx, dword [ebp - 0x170]
jne 0x4224f7
call fcn.004475e0
test al, al
je case.0x420840.6
mov ecx, dword [ebp - 0x170]
push 0
call fcn.00447520
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
push 1
call fcn.00447520
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov edx, dword [edi + 0x1c]
lea eax, [ebp - 0x190]
push eax
xor ecx, ecx
call fcn.0041f600
add esp, 4
test al, al
je case.0x420840.6
mov ecx, dword [ebp - 0x174]
call fcn.0043cfc0
cmp dword [ebp - 0x190], 0
mov esi, eax
lea eax, [ebp - 0x18c]
push eax
je 0x422644
mov edx, dword [edi + 0x10]
mov ecx, dword [edi + 8]
call fcn.0041f600
add esp, 4
test al, al
je case.0x420840.6
mov eax, dword [ebp - 0x18c]
mov edi, dword [ebp - 0x174]
cmp eax, 0xffffffff
je 0x42268f
push eax
push dword [esi + 0x5c]
mov ecx, edi
push dword [esi + 0x58]
call fcn.0043cbc0
test al, al
je 0x422b91
mov eax, dword [ebp - 0x170]
mov ecx, edi
mov byte [ebp - 0x169], 1
mov dword [eax + 0x3dd78], 0xa
call fcn.0043cfc0
mov esi, eax
test esi, esi
je 0x422621
mov edx, dword [esi + 0x64]
cmp edx, 1
je 0x4225c6
mov ecx, edx
cmp edx, 3
jne 0x4225ec
mov eax, dword [ebp - 0x170]
mov ecx, edx
cmp byte [eax + 0xc8215], 0
je 0x4225f2
cmp byte [eax + 0xc836c], 0
jne 0x4225f2
mov byte [eax + 0xc844b], 1
mov ecx, dword [esi + 0x64]
jmp 0x4225f2
mov eax, dword [ebp - 0x170]
cmp ecx, 1
jne 0x422606
mov ecx, eax
call fcn.0043c2c0
mov ecx, dword [esi + 0x64]
cmp ecx, 1
je 0x42260b
cmp ecx, 3
jne 0x422621
mov esi, dword [ebp - 0x170]
cmp byte [esi + 0xc836a], 0
je 0x422630
call fcn.0041f560
jmp 0x422627
mov esi, dword [ebp - 0x170]
cmp byte [esi + 0xc836a], 0
jne 0x422639
push 1
mov ecx, esi
call fcn.004125f0
mov ch, byte [ebp - 0x16b]
jmp 0x420415
mov edx, dword [edi + 0x14]
mov ecx, dword [edi + 0xc]
jmp 0x422558
mov edx, dword [edi + 0x1c]
lea eax, [ebp - 0x190]
push eax
xor ecx, ecx
call fcn.0041f600
add esp, 4
test al, al
je case.0x420840.6
cmp dword [ebp - 0x190], 0
je 0x422679
mov eax, dword [edi + 0x10]
jmp 0x42267c
mov eax, dword [edi + 0x14]
mov edi, dword [ebp - 0x174]
cmp eax, 0xffffffff
je 0x42268f
push eax
mov ecx, edi
call fcn.0043d000
mov esi, dword [ebp - 0x170]
mov ch, 1
jmp 0x420415
cmp byte [eax + 0xc836a], 0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jne 0x420415
mov dl, 1
mov dword [eax + 0x3dd78], 0x6a
mov byte [ebp - 0x169], dl
jmp 0x42041b
mov esi, dword [ebp - 0x170]
mov dl, 1
mov edi, dword [ebp - 0x174]
xor ch, ch
mov dword [eax + 0x3dd78], 0x1f4
mov al, dl
mov byte [ebp - 0x169], dl
jmp 0x420421
mov edx, dword [edi + 0x10]
lea eax, [ebp - 0x190]
mov ecx, dword [edi + 8]
push eax
call fcn.0041f600
add esp, 4
test al, al
je case.0x420840.6
mov edx, dword [edi + 0x14]
lea eax, [ebp - 0x18c]
mov ecx, dword [edi + 0xc]
push eax
call fcn.0041f600
add esp, 4
test al, al
je case.0x420840.6
mov eax, dword [edi + 0x1c]
cmp eax, 4
ja case.default.0x42273f
jmp dword [eax*4 + 0x425094]
mov eax, dword [ebp - 0x18c]
add eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00425420
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [ebp - 0x190]
sub eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00425420
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [ebp - 0x18c]
imul eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00425420
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov ecx, dword [ebp - 0x18c]
test ecx, ecx
jne 0x4227f5
mov ecx, dword [ebp - 0x170]
push str.FN_DIV_n
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [ebp - 0x190]
cdq
idiv ecx
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00425420
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
cmp dword [edi + 8], 0
je 0x422846
mov ecx, dword [ebp - 0x170]
push str.FN_MOV_n
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0x170]
push dword [ebp - 0x18c]
cmp eax, 0xffffffff
jne 0x422872
call fcn.00425420
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
push eax
call fcn.00425230
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
push eax
sub esp, 0x18
mov ecx, esp
push str.SC_FUNC_n
call fcn.0046a550
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0046aae0
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov edx, dword [edi + 0x10]
lea eax, [ebp - 0x190]
mov ecx, dword [edi + 8]
push eax
call fcn.0041f600
add esp, 4
test al, al
je case.0x420840.6
mov edx, dword [edi + 0x14]
lea eax, [ebp - 0x18c]
mov ecx, dword [edi + 0xc]
push eax
call fcn.0041f600
add esp, 4
test al, al
je case.0x420840.6
mov eax, dword [edi + 0x1c]
cmp eax, 5
ja case.default.0x42291a
jmp dword [eax*4 + 0x4250a8]
mov eax, dword [ebp - 0x190]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
sete cl
push ecx
mov ecx, dword [ebp - 0x170]
call fcn.00425420
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [ebp - 0x190]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setl cl
push ecx
mov ecx, dword [ebp - 0x170]
call fcn.00425420
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [ebp - 0x190]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setg cl
push ecx
mov ecx, dword [ebp - 0x170]
call fcn.00425420
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [ebp - 0x190]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setle cl
push ecx
mov ecx, dword [ebp - 0x170]
call fcn.00425420
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [ebp - 0x190]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setge cl
push ecx
mov ecx, dword [ebp - 0x170]
call fcn.00425420
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov eax, dword [ebp - 0x190]
xor ecx, ecx
cmp eax, dword [ebp - 0x18c]
setne cl
push ecx
mov ecx, dword [ebp - 0x170]
call fcn.00425420
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
push eax
sub esp, 0x18
mov ecx, esp
push str.SC_COMP_n
call fcn.0046a550
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0046aae0
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, 1
mov edi, dword [ebp - 0x174]
jmp 0x420415
cmp byte [eax + 0xc836a], 0
mov esi, dword [ebp - 0x170]
jne 0x42030b
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x3de74], eax
cmp dword [edi + 0xc], 0
je 0x422ae0
push 1
lea ecx, [ebp - 0x1e8]
call fcn.0046ba90
mov edi, eax
mov byte [ebp - 4], 5
mov ecx, esi
or dword [ebp - 0x184], 1
push 1
call fcn.00425330
mov ecx, edi
mov esi, eax
call fcn.00403f30
cmp esi, eax
je 0x422ae0
xor al, al
jmp 0x422ae2
mov al, 1
mov esi, dword [ebp - 0x170]
mov dword [ebp - 4], 0
mov byte [esi + 0x3de78], al
mov eax, dword [ebp - 0x184]
test al, 1
je 0x422b13
and eax, 0xfffffffe
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 0x184], eax
call fcn.00412b10
push 0x18
mov ecx, esi
mov byte [0x5d7b41], 0
call fcn.0041e400
mov ecx, esi
call fcn.0042fc50
push 1
mov ecx, esi
call fcn.004125f0
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
push esi
sub esp, 0x18
mov ecx, esp
push 0x4d8300
call fcn.0046a550
lea eax, [ebp - 0x1b4]
push eax
call fcn.0046b5b0
add esp, 0x20
lea ecx, [ebp - 0x1b4]
call fcn.0046aae0
mov ecx, dword [ebp - 0x170]
push eax
call fcn.00450ea0
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
mov edi, dword [ebp - 0x174]
jmp 0x420415
mov esi, dword [ebp - 0x170]
mov ch, byte [ebp - 0x16b]
jmp 0x420415
mov dl, 1
mov byte [eax + 0xc8491], 1
mov byte [ebp - 0x169], dl
mov dword [eax + 0x3dd78], 0x1f4
jmp 0x422bc3
mov eax, dword [ebp - 0x170]
cmp dword [eax + 0x146dc], 0xffffffff
je 0x422c9b
push 0x1e
mov ecx, eax
call fcn.00425330
mov esi, dword [ebp - 0x170]
mov edi, eax
push 0
mov dword [ebp - 0x180], edi
mov ecx, dword [esi + 0x146dc]
mov dword [esi + 0x3ddec], ecx
push ecx
mov ecx, esi
call fcn.0041aeb0
cmp byte [ebp - 0x175], 0
mov ecx, esi
jne 0x422c1c
push 0
push 0x1e
call fcn.00425230
mov ecx, esi
call fcn.00456130
mov eax, esi
jmp 0x422c95
cmp edi, 0x64
jge 0x422c28
call fcn.00456130
jmp 0x422c85
push edi
call fcn.00425330
lea ecx, [edi + 1]
mov dword [ebp - 0x19c], eax
push ecx
mov ecx, esi
call fcn.00425330
mov ecx, dword [ebp - 0x180]
mov edi, eax
add ecx, 2
push ecx
mov ecx, esi
call fcn.00425330
mov ecx, dword [ebp - 0x180]
mov esi, eax
add ecx, 3
push ecx
mov ecx, dword [ebp - 0x170]
call fcn.00425330
push eax
push esi
mov esi, dword [ebp - 0x170]
mov ecx, esi
push edi
push dword [ebp - 0x19c]
call fcn.00456170
mov edi, dword [ebp - 0x180]
push edi
push 0x1e
mov ecx, esi
call fcn.00425230
mov eax, dword [ebp - 0x170]
mov dl, byte [ebp - 0x169]
cmp byte [ebp - 0x176], 0
je case.0x424934.711
test dl, dl
jne case.0x424934.711
mov dword [eax + 0x3dd78], 0x69
jmp case.0x424934.711
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 1
call fcn.00401fa0
test al, al
jne 0x422cf2
push 0x1000000
mov ecx, esi
call fcn.00401fa0
test al, al
jne 0x422cf2
push 0x4000
mov ecx, esi
call fcn.00401c50
test al, al
je 0x422d10
cmp byte [esi + 0xc8214], 0
mov byte [esi + 0xc8369], 0
je 0x422d09
mov byte [esi + 0xc8368], 0
mov ecx, esi
call fcn.00453340
push 2
mov ecx, esi
call fcn.00401c50
test al, al
jne 0x422d2d
push 0x2000
mov ecx, esi
call fcn.00401fa0
test al, al
je 0x422d3d
mov ecx, esi
mov word [esi + 0xc8368], 0
call fcn.00453340
push 2
mov ecx, esi
call fcn.00401c50
test al, al
jne 0x422d5a
push 0x2000
mov ecx, esi
call fcn.00401f80
test al, al
je 0x422d61
mov ecx, esi
call fcn.004137a0
mov ecx, esi
call fcn.004135c0
test al, al
jne case.0x424934.711
mov dword [esi + 0x3dd78], 0x64
jmp case.0x424934.711
mov eax, dword [ebp - 0x170]
xor edx, edx
lea ecx, [eax + 0xef68]
nop dword [eax]
cmp byte [ecx - 0x1c], 0
je 0x422d9b
cmp dword [ecx], 0xffffffff
jne 0x422da9
inc edx
sub ecx, 0xffffff80
cmp edx, 6
jl 0x422d90
jmp 0x424c19
cmp edx, 6
jl case.0x424934.711
jmp 0x424c19
mov esi, dword [ebp - 0x170]
lea ecx, [esi + 0x3dca8]
call fcn.0043d010
push eax
mov ecx, esi
call fcn.00425770
mov byte [0x5d68cf], 0
call fcn.0041f850
test al, al
je 0x422de7
mov byte [esi + 0xf328], 1
call fcn.0041f870
test al, al
je 0x422e10
cmp byte [esi + 0xc8369], 0
jne 0x422e09
push 0x2000000
mov ecx, esi
call fcn.00401fa0
test al, al
je 0x422e10
mov byte [esi + 0xf328], 1
mov dword [esi + 0x3dd78], 0x78
jmp case.0x424934.711
mov esi, dword [ebp - 0x170]
push 0
lea ecx, [esi + 0xf4c8]
call fcn.00403710
mov edi, eax
test edi, edi
je 0x422e84
cmp byte [esi + 0xc80ec], 0
je 0x422e48
mov ecx, esi
call fcn.004418f0
cmp byte [esi + 0xc8369], 0
jne 0x422e84
push 0x2000000
mov ecx, esi
call fcn.00401fa0
test al, al
jne 0x422e84
mov eax, dword [edi + 0x88]
cmp eax, dword [esi + 0xc801c]
je 0x422e84
mov ecx, dword [edi + 0x8c]
test ecx, ecx
je 0x422e84
push 0
push ecx
push eax
mov ecx, esi
call fcn.004417e0
mov dword [esi + 0x3dd78], 0x96
jmp case.0x424934.711
call fcn.0041f870
mov esi, dword [ebp - 0x170]
test al, al
je 0x422eca
push 0x2000000
mov ecx, esi
call fcn.00401fa0
test al, al
jne 0x422ec3
call fcn.0041f850
test al, al
jne 0x422ec3
cmp byte [esi + 0xc8369], al
je 0x422eca
mov byte [esi + 0xf328], 1
push 1
mov ecx, esi
call fcn.00401c50
test al, al
jne 0x422f04
push 2
mov ecx, esi
call fcn.00401c50
test al, al
jne 0x422f04
push 0x1000000
mov ecx, esi
call fcn.00401f80
test al, al
jne 0x422f04
push 0x4000
mov ecx, esi
call fcn.00401c50
test al, al
je 0x422f0b
mov byte [esi + 0xf328], 1
push 1
mov ecx, esi
call fcn.00401fa0
test al, al
jne 0x422f38
push 0x1000000
mov ecx, esi
call fcn.00401fa0
test al, al
jne 0x422f38
push 0x4000
mov ecx, esi
call fcn.00401fa0
test al, al
je 0x422f5d
cmp byte [esi + 0xc8214], 0
mov byte [esi + 0xc8369], 0
mov byte [esi + 0xc836f], 0
je 0x422f56
mov byte [esi + 0xc8368], 0
mov ecx, esi
call fcn.00453340
push 2
mov ecx, esi
call fcn.00401c50
test al, al
jne 0x422f7a
push 0x2000
mov ecx, esi
call fcn.00401fa0
test al, al
je 0x422f91
mov ecx, esi
mov word [esi + 0xc8368], 0
mov byte [esi + 0xc836f], 0
call fcn.00453340
cmp byte [esi + 0xf328], 0
jne 0x42300c
mov ecx, esi
call fcn.00452e80
cmp dword [esi + 0x3cb40], eax
jbe 0x422fb7
mov dword [esi + 0xf364], 0
xor eax, eax
jmp 0x422ff0
cmp byte [esi + 0xf384], 0
mov ecx, esi
jne 0x422fd7
call fcn.00452e80
sub eax, dword [esi + 0xf334]
xor edx, edx
div dword [esi + 0xc8228]
jmp 0x422fea
call fcn.00452e80
sub eax, dword [esi + 0xf334]
xor edx, edx
div dword [esi + 0xc822c]
mov dword [esi + 0xf364], eax
cmp eax, dword [esi + 0xf318]
jl 0x422fff
mov byte [esi + 0xf328], 1
cmp byte [esi + 0xf328], 0
je case.0x424934.711
mov ecx, esi
mov dword [esi + 0x3dd78], 0xc8
call fcn.00452e80
cmp byte [esi + 0xf384], 0
mov dword [esi + 0xf35c], eax
je 0x423046
mov edi, dword [esi + 0xc8234]
mov ecx, esi
call fcn.00452e80
add eax, edi
mov dword [esi + 0xc8394], eax
jmp case.0x424934.711
mov edi, dword [esi + 0xc8230]
mov ecx, esi
call fcn.00452e80
add eax, edi
mov dword [esi + 0xc8394], eax
jmp case.0x424934.711
mov esi, dword [ebp - 0x170]
push 0
lea ecx, [esi + 0xf4c8]
call fcn.00403710
mov dword [ebp - 0x194], eax
call fcn.0042f4f0
cmp dword [esi + 0x3de80], 0xffffffff
mov edi, eax
mov dword [ebp - 0x184], edi
je 0x4230db
mov edx, dword [esi + 0xec6c]
lea ecx, [esi + 0xec6c]
mov edx, dword [edx]
call edx
lea ecx, [esi + 0xec94]
test al, al
je 0x4230bf
call fcn.00442110
test al, al
je 0x4230db
lea ecx, [esi + 0xec94]
call fcn.00442120
jmp 0x4230db
call fcn.00442110
test al, al
jne 0x4230db
cmp byte [esi + 0xc80ce], al
jne 0x4230db
lea ecx, [esi + 0xec94]
call fcn.00442130
cmp byte [esi + 0xf296], 0
jne 0x423116
cmp byte [esi + 0xc8248], 0
jne 0x42310b
cmp dword [esi + 0xeea0], 0x4ff
mov eax, dword [esi + 0xeea4]
ja 0x423116
add eax, 0xfffffddf
cmp eax, 0xae
ja 0x423116
mov byte [esi + 0xf295], 1
push 1
jmp 0x42311f
push 0
mov byte [esi + 0xf295], 0
lea ecx, [esi + 0xf47c]
call fcn.004078a0
cmp byte [esi + 0xc8368], 0
jne 0x423140
cmp byte [esi + 0xc8369], 0
je 0x4231c3
push 1
mov ecx, esi
call fcn.00401fa0
test al, al
jne 0x42316d
push 0x1000000
mov ecx, esi
call fcn.00401fa0
test al, al
jne 0x42316d
push 0x4000
mov ecx, esi
call fcn.00401fa0
test al, al
je 0x423192
cmp byte [esi + 0xc8214], 0
mov byte [esi + 0xc8369], 0
mov byte [esi + 0xc836f], 0
je 0x42318b
mov byte [esi + 0xc8368], 0
mov ecx, esi
call fcn.00453340
push 2
mov ecx, esi
call fcn.00401c50
test al, al
jne 0x423baf
push 0x2000
mov ecx, esi
call fcn.00401fa0
test al, al
jne 0x423baf
cmp edi, 0xca
je 0x423baf
cmp byte [esi + 0xf295], 0
je 0x4231e8
mov ecx, esi
call fcn.00403f40
lea ecx, [esi + 0xf47c]
mov edi, eax
call fcn.0041f4d0
mov dword [esi + 0xf36c], eax
jmp 0x4231f5
or edi, 0xffffffff
mov dword [esi + 0xf36c], 0
push 0x2000000
mov ecx, esi
call fcn.00401fa0
test al, al
jne 0x42320d
cmp byte [esi + 0xc8369], al
je 0x423230
call fcn.0041f870
test al, al
je 0x423230
push 0
push 0x28
mov ecx, esi
mov dword [esi + 0x3dd78], 0x64
call fcn.00425230
jmp case.0x424934.711
cmp dword [ebp - 0x194], 0
je 0x42334d
mov ecx, esi
call fcn.00426210
test al, al
je 0x4232b7
mov ecx, dword [ebp - 0x194]
mov eax, dword [ecx + 0x88]
test eax, eax
js 0x423269
mov ecx, eax
call fcn.00441b70
mov ecx, dword [ebp - 0x194]
mov edx, eax
jmp 0x42326c
or edx, 0xffffffff
cmp byte [esi + 0xc80ca], 0
jne 0x423216
mov eax, dword [ecx + 0x88]
cmp eax, dword [esi + 0xc801c]
je 0x423216
cmp dword [ecx + 0x8c], 0
je 0x423216
cmp edx, 0xffffffff
je 0x423216
cmp byte [esi + edx + 0xc80ee], 0
jne 0x423216
mov eax, dword [esi + 0xec6c]
lea ecx, [esi + 0xec6c]
mov eax, dword [eax]
call eax
test al, al
je 0x423216
cmp byte [esi + 0xc8368], 0
je 0x42334d
mov ecx, dword [ebp - 0x194]
mov eax, dword [ecx + 0x88]
test eax, eax
js 0x4232e5
mov ecx, eax
call fcn.00441b70
mov ecx, dword [ebp - 0x194]
mov edx, eax
jmp 0x4232e8
or edx, 0xffffffff
cmp byte [esi + 0xc80ca], 0
jne 0x42333a
mov eax, dword [ecx + 0x88]
cmp eax, dword [esi + 0xc801c]
je 0x42333a
cmp dword [ecx + 0x8c], 0
je 0x42333a
cmp edx, 0xffffffff
je 0x42333a
cmp byte [esi + edx + 0xc80ee], 0
jne 0x42333a
mov eax, dword [esi + 0xec6c]
lea ecx, [esi + 0xec6c]
mov eax, dword [eax]
call eax
test al, al
jne 0x42334d
mov dword [esi + 0x3dd78], 0x64
jmp case.0x424934.711
mov ecx, esi
call fcn.00452e80
cmp eax, dword [esi + 0xc8394]
ja 0x422d70
mov eax, dword [ebp - 0x184]
sub eax, 0xc8
je 0x423364
sub eax, 1
jne 0x423369
lea edi, [eax + 3]
jmp 0x423369
mov edi, 2
push 2
mov ecx, esi
mov byte [ebp - 0x177], 0
mov byte [esi + 0xc836f], 0
call fcn.00401c50
test al, al
je 0x42340b
cmp byte [esi + 0xc80ed], 0
je 0x4233a1
cmp byte [0x5d68cf], 0
je 0x4233a1
mov ecx, esi
call fcn.004418f0
mov eax, dword [esi + 0xc8240]
cmp eax, 8
ja case.default.0x4233ac
jmp dword [eax*4 + 0x4250c0]
mov edi, 4
jmp 0x42340b
mov edi, 7
jmp 0x42340b
mov edi, 2
jmp 0x42340b
mov edi, 3
jmp 0x42340b
cmp byte [esi + 0xc836c], 0
jne 0x42340b
mov edi, 0xd
jmp 0x42340b
cmp byte [esi + 0xc836c], 0
jne 0x42340b
mov edi, 0xe
jmp 0x42340b
mov edi, 8
jmp 0x42340b
mov byte [ebp - 0x177], 1
jmp 0x42340b
push 0x4d8320
mov ecx, esi
call fcn.00450ea0
push 0x100000
mov ecx, esi
call fcn.00401f80
test al, al
mov ecx, 4
push 0x10
cmovne edi, ecx
mov ecx, esi
call fcn.00401c50
test al, al
jne 0x42344e
push 0x800000
mov ecx, esi
call fcn.00401f80
test al, al
jne 0x42344e
push 0x10000
mov ecx, esi
call fcn.00401f80
test al, al
je 0x423453
mov edi, 1
push 0x200000
mov ecx, esi
call fcn.00401f80
test al, al
mov ecx, 7
push 0x4000000
cmovne edi, ecx
mov ecx, esi
call fcn.00401f80
test al, al
mov ecx, 2
push 0x20000000
cmovne edi, ecx
mov ecx, esi
call fcn.00401f80
test al, al
mov ecx, 5
push 0x40000000
cmovne edi, ecx
mov ecx, esi
call fcn.00401f80
test al, al
mov ecx, 6
push 0x400000
cmovne edi, ecx
mov ecx, esi
call fcn.00401f80
test al, al
mov ecx, 8
push 0x80000
cmovne edi, ecx
mov ecx, esi
call fcn.00401f80
test al, al
mov ecx, 9
push 3
cmovne edi, ecx
lea ecx, [esi + 0xeea8]
call fcn.00401ef0
test al, al
je 0x4234fa
push 3
lea ecx, [esi + 0xeea8]
mov edi, 2
call fcn.0045cf70
push 4
lea ecx, [esi + 0xeea8]
call fcn.00401ef0
test al, al
je 0x42351c
mov edi, 3
lea ecx, [esi + 0xeea8]
push edi
call fcn.0045cf70
push 1
lea ecx, [esi + 0xeea8]
call fcn.00401ef0
test al, al
je 0x42353f
push 3
lea ecx, [esi + 0xeea8]
mov edi, 1
call fcn.0045cf70
push 2
lea ecx, [esi + 0xeea8]
call fcn.00401ef0
test al, al
je 0x423562
push 3
lea ecx, [esi + 0xeea8]
mov edi, 4
call fcn.0045cf70
push 0x8000000
mov ecx, esi
call fcn.00401f80
test al, al
mov ecx, 0x10
push 0x30
cmovne edi, ecx
mov ecx, esi
call fcn.00425330
push 0x31
mov ecx, esi
mov dword [0x5d7880], eax
call fcn.00425330
push 0x80000000
mov ecx, esi
mov dword [0x5d7884], eax
call fcn.00401f80
test al, al
jne 0x423b90
cmp byte [ebp - 0x177], al
jne 0x423b90
dec edi
cmp edi, 0x11
ja case.default.0x4235be
jmp dword [edi*4 + 0x4250e4]
push 0
mov ecx, esi
call fcn.00441b90
mov ecx, esi
call fcn.00412600
mov dword [esi + 0x3dd78], 0x12c
jmp case.0x4235be.7
push 0
mov ecx, esi
call fcn.00441b90
cmp byte [esi + 0xc836c], 0
jne case.0x4235be.7
mov ecx, esi
call fcn.004137a0
mov ecx, esi
call fcn.0042feb0
mov ecx, esi
call fcn.00412600
cmp byte [esi + 0xc81f1], 0
je 0x423627
mov dword [esi + 0x3dd78], 0x2c6
jmp case.0x4235be.7
push 3
push 2
mov ecx, esi
call fcn.004388e0
mov dword [esi + 0x3dd78], 0x2bc
jmp case.0x4235be.7
push 0
mov ecx, esi
call fcn.00441b90
cmp byte [esi + 0xc836c], 0
jne case.0x4235be.7
cmp dword [esi + 0xc8358], 7
ja case.0x4235be.7
mov ecx, esi
call fcn.004137a0
mov ecx, esi
call fcn.0042feb0
cmp byte [esi + 0xc81f2], 0
je 0x42368a
mov dword [esi + 0x3dd78], 0x2f8
jmp case.0x4235be.7
push 4
push 3
mov ecx, esi
call fcn.004388e0
mov dword [esi + 0x3dd78], 0x2ee
jmp case.0x4235be.7
mov ecx, esi
call fcn.004137a0
mov ecx, esi
call fcn.0042feb0
mov ecx, esi
call fcn.00412600
push 1
mov ecx, esi
call fcn.004125f0
push 3
mov ecx, esi
call fcn.00441d00
push 0
lea ecx, [esi + 0xf47c]
call fcn.004078a0
push 0
mov ecx, esi
call fcn.0042fd60
push 0
mov ecx, esi
call fcn.00447520
push 0
mov ecx, esi
call fcn.004125a0
push 0
mov ecx, esi
call fcn.00412590
push 0
mov ecx, esi
call fcn.004125b0
push 0
mov ecx, esi
call fcn.00403f20
push 8
mov ecx, esi
call fcn.0041e400
mov dword [esi + 0x3dd78], 0x190
jmp case.0x4235be.7
mov ecx, esi
call fcn.004137a0
mov ecx, esi
call fcn.0042feb0
mov ecx, esi
call fcn.00412600
push 1
mov ecx, esi
call fcn.004125f0
push 0
mov ecx, esi
call fcn.00441b90
push 0
lea ecx, [esi + 0xf47c]
call fcn.004078a0
push 0
mov ecx, esi
call fcn.0042fd60
push 0
mov ecx, esi
call fcn.00447520
push 0
mov ecx, esi
call fcn.004125a0
push 0
mov ecx, esi
call fcn.00412590
push 0
mov ecx, esi
call fcn.004125b0
push 0
mov ecx, esi
call fcn.00403f20
push 0x11
mov ecx, esi
call fcn.0041e400
push 0
push 1
mov ecx, esi
call fcn.0043c1b0
mov dword [esi + 0x3dd78], 0x190
jmp case.0x4235be.7
mov ecx, esi
call fcn.004137a0
mov ecx, esi
call fcn.0042feb0
mov ecx, esi
call fcn.00412600
push 1
mov ecx, esi
call fcn.004125f0
push 0
mov ecx, esi
call fcn.00441b90
push 0
lea ecx, [esi + 0xf47c]
call fcn.004078a0
push 0
mov ecx, esi
call fcn.0042fd60
push 0
mov ecx, esi
call fcn.00447520
push 0
mov ecx, esi
call fcn.004125a0
push 0
mov ecx, esi
call fcn.00412590
push 0
mov ecx, esi
call fcn.004125b0
push 0
mov ecx, esi
call fcn.00403f20
push 0x11
mov ecx, esi
call fcn.0041e400
push 0
push 0
jmp 0x42379d
push 0
lea ecx, [esi + 0xf4c8]
call fcn.00403710
test eax, eax
je case.0x4235be.7
mov ecx, dword [eax + 0x88]
cmp ecx, dword [esi + 0xc801c]
je case.0x4235be.7
mov edx, dword [eax + 0x8c]
test edx, edx
je case.0x4235be.7
movzx eax, byte [esi + 0xc80ed]
push eax
push edx
push ecx
mov ecx, esi
call fcn.004417e0
mov byte [0x5d68cf], 1
jmp case.0x4235be.7
lea ecx, [esi + 0xf4c8]
call fcn.00401f70
cmp eax, 1
jle case.0x4235be.7
mov ecx, esi
call fcn.004137a0
mov ecx, esi
call fcn.0042feb0
push 0
mov ecx, esi
call fcn.00441b90
push 0
lea ecx, [esi + 0xf4c8]
call fcn.00403710
push 0
mov ecx, esi
call fcn.00412590
cmp byte [esi + 0xc80ed], 0
je 0x4238e2
cmp byte [0x5d68cf], 0
je 0x4238e2
mov ecx, esi
mov byte [0x5d68cf], 0
call fcn.004418f0
push 0x10
mov ecx, esi
call fcn.0041e400
mov dword [esi + 0x3dd78], 0x258
jmp case.0x4235be.7
push 0
mov ecx, esi
call fcn.00441b90
cmp byte [esi + 0xc8368], 0
je 0x42391f
mov ecx, esi
mov byte [esi + 0xc8368], 0
call fcn.00453340
jmp 0x423b43
cmp byte [esi + 0xc80ed], 0
mov byte [esi + 0xc8368], 1
je 0x423946
cmp byte [0x5d68cf], 0
je 0x423946
mov ecx, esi
mov byte [0x5d68cf], 0
call fcn.004418f0
cmp byte [esi + 0xc8369], 0
je 0x423956
mov byte [esi + 0xc8369], 0
mov ecx, esi
call fcn.00453340
jmp 0x423b43
cmp byte [esi + 0xc81e9], 0
jne 0x423978
cmp byte [esi + 0xf31c], 0
je case.0x4235be.7
push 0
mov ecx, esi
call fcn.00441b90
cmp byte [esi + 0xc80ed], 0
mov byte [esi + 0xc8369], 1
je 0x4239a8
cmp byte [0x5d68cf], 0
je 0x4239a8
mov ecx, esi
mov byte [0x5d68cf], 0
call fcn.004418f0
cmp byte [esi + 0xc8368], 0
je 0x4239b8
mov byte [esi + 0xc8368], 0
mov ecx, esi
call fcn.00453340
jmp 0x423b43
cmp byte [esi + 0xc8200], 0
jne case.0x4235be.7
mov dword [esi + 0x3dd78], 0xfa
jmp case.0x4235be.7
cmp byte [esi + 0xc8200], 0
je case.0x4235be.7
mov dword [esi + 0x3dd78], 0xfa
jmp case.0x4235be.7
mov ecx, esi
call fcn.004137a0
mov ecx, esi
call fcn.0042feb0
mov ecx, esi
call fcn.00412600
push 0
mov ecx, esi
call fcn.00441b90
push 0
lea ecx, [esi + 0xf47c]
call fcn.004078a0
push 0
mov ecx, esi
call fcn.0042fd60
push 0
mov ecx, esi
call fcn.00447520
push 0
mov ecx, esi
call fcn.004125a0
push 0
mov ecx, esi
call fcn.00412590
push 0
mov ecx, esi
call fcn.004125b0
push 0
mov ecx, esi
call fcn.00403f20
push 1
mov ecx, esi
call fcn.004125f0
push 0x1e
jmp 0x423710
cmp byte [esi + 0xc8248], 0
lea ecx, [esi + 0xf47c]
sete al
mov byte [esi + 0xc8248], al
call fcn.00406e90
mov ecx, esi
call fcn.00403f80
jmp case.0x4235be.7
mov ecx, esi
call fcn.0043c1d0
test al, al
je case.0x4235be.7
cmp byte [esi + 0xc81fc], 0
je 0x423abb
mov dword [esi + 0x3dd78], 0x208
jmp case.0x4235be.7
push 0xe
push 7
mov ecx, esi
call fcn.004388e0
mov dword [esi + 0x3dd78], 0x1fe
jmp case.0x4235be.7
call fcn.00455c60
jmp case.0x4235be.7
push 1
mov ecx, esi
call fcn.00401c50
test al, al
jne 0x423b23
push 0x1000000
mov ecx, esi
call fcn.00401f80
test al, al
jne 0x423b23
push 0x4000
mov ecx, esi
call fcn.00401c50
test al, al
jne 0x423b23
push 0x20
mov ecx, esi
call fcn.00401c50
test al, al
jne 0x423b23
push 0x20000
mov ecx, esi
call fcn.00401f80
test al, al
je case.0x4235be.7
cmp byte [esi + 0xc80ed], 0
je 0x423b43
cmp byte [0x5d68cf], 0
je 0x423b43
mov ecx, esi
mov byte [0x5d68cf], 0
call fcn.004418f0
mov dword [esi + 0x3dd78], 0x64
mov ecx, esi
call fcn.00452e80
mov ecx, dword [esi + 0xf35c]
add ecx, 6
cmp ecx, eax
jae case.0x424934.711
inc dword [esi + 0xf360]
cmp dword [esi + 0xf360], 0x12
jl 0x423b7e
mov dword [esi + 0xf360], 0
mov ecx, esi
call fcn.00452e80
mov dword [esi + 0xf35c], eax
jmp case.0x424934.711
mov ecx, esi
call fcn.004137a0
push 0x13
mov ecx, esi
call fcn.0041e400
mov dword [esi + 0x3dd78], 0x320
jmp case.0x424934.711
mov ecx, esi
mov word [esi + 0xc8368], 0
mov byte [esi + 0xc836f], 0
call fcn.00453340
jmp case.0x424934.711
mov edi, dword [ebp - 0x170]
push 0xc
lea ecx, [edi + 0xf47c]
call fcn.004074c0
push 0xb
lea ecx, [edi + 0xf47c]
call fcn.004074c0
mov ecx, edi
call fcn.00452e80
mov dword [0x5d7888], eax
mov dword [edi + 0x3dd78], 0x104
jmp case.0x424934.711
mov ecx, eax
call fcn.00452e80
mov edi, dword [ebp - 0x170]
mov esi, eax
sub esi, dword [0x5d7888]
mov eax, 0x1e
cmp esi, eax
cmova esi, eax
cmp byte [edi + 0xc8200], 0
sete al
imul ecx, esi, 0x64
movzx eax, al
push eax
mov eax, 0x88888889
mul ecx
mov ecx, edi
shr edx, 4
push edx
call fcn.00447df0
cmp esi, 0x1e
jb case.0x424934.711
cmp byte [edi + 0xc8200], 0
mov ecx, edi
sete al
mov byte [edi + 0xc8200], al
call fcn.00447640
mov dword [edi + 0x3dd78], 0xc8
jmp case.0x424934.711
cmp ecx, 0x2bc
jg 0x42490c
je 0x4248eb
cmp ecx, 0x1f4
jg 0x42468c
je 0x423eb5
sub ecx, 0x12c
cmp ecx, 0x64
ja case.0x424934.711
movzx eax, byte [ecx + 0x425140]
jmp dword [eax*4 + 0x42512c]
mov esi, dword [ebp - 0x170]
push str.Message_Hide
lea ecx, [esi + 0xf47c]
mov byte [esi + 0xf24c], 0
call fcn.00406be0
push 0
mov ecx, esi
call fcn.00447520
push 0
mov ecx, esi
call fcn.00403f20
mov dword [esi + 0x3dd78], 0x136
jmp case.0x424934.711
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 2
mov byte [ebp - 0x184], 0
call fcn.00401c50
test al, al
je 0x423d2e
mov eax, dword [ebp - 0x184]
mov ecx, 1
cmp dword [esi + 0xc8240], 0
movzx eax, al
cmovne eax, ecx
mov dword [ebp - 0x184], eax
push 1
mov ecx, esi
call fcn.00401c50
test al, al
jne 0x423d5b
push 0x100000
mov ecx, esi
call fcn.00401f80
test al, al
jne 0x423d5b
push 0x4000
mov ecx, esi
call fcn.00401f80
test al, al
je 0x423d62
mov byte [ebp - 0x184], 1
push 2
mov ecx, esi
call fcn.00401c50
test al, al
jne 0x423d8b
push 0x2000
mov ecx, esi
call fcn.00401f80
test al, al
jne 0x423d8b
push 0x200000
mov ecx, esi
call fcn.00401f80
cmp byte [ebp - 0x184], 0
je case.0x424934.711
mov dword [esi + 0x3dd78], 0x15e
jmp case.0x424934.711
mov esi, dword [ebp - 0x170]
lea ecx, [esi + 0xf47c]
mov byte [esi + 0xf24c], 1
call fcn.00406e90
push 1
mov ecx, esi
call fcn.00447520
push 1
mov ecx, esi
call fcn.00403f20
cmp byte [esi + 0xc8248], 0
jne 0x423dee
push 0
lea ecx, [esi + 0xf47c]
call fcn.004078a0
mov byte [esi + 0xf295], 0
mov dword [esi + 0xf36c], 0
mov dword [esi + 0x3dd78], 0xc8
jmp case.0x424934.711
mov esi, dword [ebp - 0x170]
push 1
lea ecx, [esi + 0xf47c]
call fcn.004078a0
push 1
mov ecx, esi
call fcn.0042fd60
push 1
mov ecx, esi
call fcn.00447520
push 1
mov ecx, esi
call fcn.004125a0
push 1
mov ecx, esi
call fcn.00412590
push 1
mov ecx, esi
call fcn.004125b0
push 0
mov ecx, esi
call fcn.004125f0
push 1
mov ecx, esi
call fcn.00403f20
cmp byte [esi + 0xc8248], 0
jne 0x423e76
push 0
lea ecx, [esi + 0xf47c]
call fcn.004078a0
mov byte [esi + 0xf295], 0
mov dword [esi + 0xf36c], 0
call fcn.0041f8a0
mov ecx, esi
call fcn.00456290
mov ecx, esi
call fcn.00453340
mov ecx, esi
call fcn.00452e80
add eax, dword [esi + 0xc8230]
mov dword [esi + 0xc8394], eax
mov dword [esi + 0x3dd78], 0xc8
jmp case.0x424934.711
lea esi, [eax + 0x3dca8]
mov ecx, esi
call fcn.004171b0
mov ecx, esi
mov dword [ebp - 0x17c], eax
call fcn.0043cfd0
mov edi, eax
cmp edi, 0x1387
ja 0x423f7d
push dword [ebp - 0x17c]
lea ecx, [ebp - 0x1f4]
call fcn.0046ba90
sub esp, 0xc
mov byte [ebp - 4], 6
mov ecx, eax
mov esi, esp
call fcn.00403f30
push eax
mov ecx, esi
call fcn.0046ba90
lea eax, [edi + edi*2]
mov edi, dword [ebp - 0x170]
lea esi, [edi + eax*4]
lea ecx, [esi + 0x5f2dc]
call fcn.0046bb00
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 0x177], al
mov byte [ebp - 4], 0
call fcn.00412b10
cmp byte [ebp - 0x177], 0
je 0x423f56
sub esp, 0xc
mov ecx, esp
push dword [ebp - 0x17c]
call fcn.0046ba90
lea ecx, [esi + 0x5f2dc]
call fcn.0046bab0
lea esi, [edi + 0x3dca8]
push 0
mov ecx, edi
call fcn.00417670
mov ecx, esi
call fcn.0043cda0
inc eax
cmp eax, 4
ja case.0x424934.711
jmp dword [eax*4 + 0x4251a8]
mov edi, dword [ebp - 0x170]
jmp 0x423f5c
push 1
mov ecx, edi
call fcn.004125c0
push 0
mov ecx, edi
call fcn.004125a0
push 0
mov ecx, edi
call fcn.00412590
push 0
mov ecx, edi
call fcn.004125d0
push 0
mov ecx, edi
call fcn.004125e0
push 0
mov ecx, edi
call fcn.004125b0
push 0
mov ecx, edi
call fcn.00403f20
lea ecx, [edi + 0xf47c]
mov word [edi + 0xc8368], 0
call fcn.00406b60
mov ecx, edi
call fcn.0041e4d0
xorps xmm0, xmm0
mov ecx, edi
movups xmmword [edi + 0x3dd68], xmm0
push 0xffffffffffffffff
movups xmmword [edi + 0x3dd78], xmm0
movups xmmword [edi + 0x3dd88], xmm0
movups xmmword [edi + 0x3dd98], xmm0
movups xmmword [edi + 0x3dda8], xmm0
movups xmmword [edi + 0x3ddb8], xmm0
movups xmmword [edi + 0x3ddc8], xmm0
movups xmmword [edi + 0x3ddd8], xmm0
mov dword [edi + 0x3dde8], 0
call fcn.00440fd0
push 0
mov ecx, edi
call fcn.0042fd60
push 0
mov ecx, edi
call fcn.00447520
mov dword [edi + 0x3dd78], 0
mov dword [edi + 0x3dd64], 1
mov dword [edi + 0x3dd74], 0
jmp case.0x424934.711
push 0xffffffffffffffff
mov ecx, edi
mov dword [edi + 0x3dd78], 0
mov word [edi + 0xc8368], 0
call fcn.00440fd0
cmp byte [edi + 0xc836e], 0
mov ecx, edi
jne 0x4240ca
call fcn.00401c70
lea ecx, [edi + 0xf47c]
call fcn.00406e90
mov ecx, edi
call fcn.0041e440
push 0
mov ecx, edi
call fcn.0042fd60
push 0
mov ecx, edi
call fcn.00447520
push 0
mov ecx, edi
call fcn.00403f20
mov dword [edi + 0x3dd78], 0
jmp case.0x424934.711
push 1
call fcn.004125c0
push 0
mov ecx, edi
call fcn.004125a0
push 0
mov ecx, edi
call fcn.00412590
push 0
mov ecx, edi
call fcn.004125d0
push 0
mov ecx, edi
call fcn.004125e0
push 0
mov ecx, edi
call fcn.004125b0
push 0
mov ecx, edi
call fcn.0042fd60
push 0
mov ecx, edi
call fcn.00447520
push 0
mov ecx, edi
call fcn.00403f20
lea ecx, [edi + 0xf47c]
call fcn.00406b60
mov ecx, edi
call fcn.0041e4d0
xorps xmm0, xmm0
movups xmmword [edi + 0x3dd68], xmm0
movups xmmword [edi + 0x3dd78], xmm0
movups xmmword [edi + 0x3dd88], xmm0
movups xmmword [edi + 0x3dd98], xmm0
movups xmmword [edi + 0x3dda8], xmm0
movups xmmword [edi + 0x3ddb8], xmm0
movups xmmword [edi + 0x3ddc8], xmm0
movups xmmword [edi + 0x3ddd8], xmm0
mov dword [edi + 0x3dde8], 0
mov dword [edi + 0x3dd64], 1
mov dword [edi + 0x3dd74], 0
mov dword [edi + 0x3dd78], 0
jmp case.0x424934.711
mov dword [edi + 0x3dd78], 0x64
jmp case.0x424934.711
mov ecx, esi
call fcn.0043cb50
mov ecx, esi
call fcn.0043cb30
lea ecx, [edi + 0x3dca8]
mov esi, eax
call fcn.0043cfc0
push esi
mov ecx, dword [eax + 0x6c]
mov dword [edi + 0xc839c], ecx
mov ecx, dword [eax + 0x70]
mov dword [edi + 0xc83a0], ecx
mov ecx, dword [eax + 0x68]
mov dword [edi + 0xc8430], ecx
mov ecx, edi
mov dword [edi + 0xc8398], 0
call fcn.00425770
cmp byte [edi + 0xc836c], 0
mov byte [edi + 0xf328], 1
jne 0x42420a
cmp byte [edi + 0xc8215], 0
je 0x42420a
mov byte [edi + 0xc844b], 1
mov ecx, edi
call fcn.0043c2c0
mov dword [edi + 0xc8434], 0
lea eax, [edi + 0xc83b8]
mov esi, 0x74
mov dword [edi + 0xc83a4], 0xffffffff
mov dword [edi + 0xc83a8], 0xffffffff
mov dword [edi + 0xc83ac], 0xffffffff
mov dword [edi + 0xc83b0], 0xffffffff
mov dword [edi + 0xc83b4], 0xffffffff
mov dword [ebp - 0x17c], esi
mov dword [ebp - 0x184], eax
lea ecx, [edi + 0x3dca8]
call fcn.0043cfc0
mov eax, dword [eax + esi]
mov dword [edi + esi + 0xc8330], eax
cmp eax, 0xffffffff
je 0x4242e2
mov ecx, dword [ebp - 0x184]
inc dword [edi + 0xc8434]
call fcn.0046a6d0
lea ecx, [edi + 0x3dca8]
call fcn.0043cb30
test eax, eax
je 0x4242ca
sub esp, 0x18
lea ecx, [edi + 0x3dca8]
mov esi, esp
push dword [eax + 0x10]
call fcn.0043cb60
push eax
mov ecx, esi
call fcn.0046a550
mov ecx, dword [ebp - 0x184]
call fcn.0046a870
mov esi, dword [ebp - 0x17c]
add dword [ebp - 0x184], 0x18
add esi, 4
mov dword [ebp - 0x17c], esi
cmp esi, 0x88
jl 0x424264
cmp dword [edi + 0xc8430], 0
je 0x4242f1
dec dword [edi + 0xc8434]
push 0
mov ecx, edi
call fcn.0042fd60
push 5
mov ecx, edi
call fcn.0041e6f0
mov dword [edi + 0x3dd78], 0
jmp case.0x424934.711
mov ecx, esi
call fcn.0043cfc0
cmp byte [edi + 0xc836c], 0
mov esi, eax
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x68]
mov dword [ebp - 0x17c], eax
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x168], ecx
jne 0x42434f
cmp byte [edi + 0xc8215], 0
je 0x42434f
mov byte [edi + 0xc844b], 1
mov ecx, edi
call fcn.0043c2c0
cmp dword [esi + 0x74], 0xffffffff
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x180]
jne 0x42438f
mov byte [ebp - 0x164], 0
mov dword [ebp - 0x160], 0xffffffff
mov dword [ebp - 0x15c], 0xffffffff
mov dword [ebp - 0x158], 0xffffffff
jmp 0x4243ab
mov byte [ebp - 0x164], 1
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x15c], edx
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x158], eax
cmp dword [esi + 0x78], 0xffffffff
jne 0x4243d8
mov byte [ebp - 0x154], 0
mov dword [ebp - 0x150], 0xffffffff
mov dword [ebp - 0x14c], 0xffffffff
mov dword [ebp - 0x148], 0xffffffff
jmp 0x4243f4
mov byte [ebp - 0x154], 1
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x14c], edx
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x148], eax
cmp dword [esi + 0x7c], 0xffffffff
jne 0x424421
mov byte [ebp - 0x144], 0
mov dword [ebp - 0x140], 0xffffffff
mov dword [ebp - 0x13c], 0xffffffff
mov dword [ebp - 0x138], 0xffffffff
jmp 0x42443d
mov byte [ebp - 0x144], 1
mov dword [ebp - 0x140], ecx
mov dword [ebp - 0x13c], edx
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x138], eax
cmp dword [esi + 0x80], 0xffffffff
jne 0x42446d
mov byte [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xffffffff
mov dword [ebp - 0x12c], 0xffffffff
mov dword [ebp - 0x128], 0xffffffff
jmp 0x42448c
mov byte [ebp - 0x134], 1
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x12c], edx
mov eax, dword [esi + 0x80]
mov dword [ebp - 0x128], eax
cmp dword [esi + 0x84], 0xffffffff
jne 0x4244bc
mov byte [ebp - 0x124], 0
mov dword [ebp - 0x120], 0xffffffff
mov dword [ebp - 0x11c], 0xffffffff
mov dword [ebp - 0x118], 0xffffffff
jmp 0x4244db
mov byte [ebp - 0x124], 1
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x11c], edx
mov eax, dword [esi + 0x84]
mov dword [ebp - 0x118], eax
cmp dword [esi + 0x88], 0xffffffff
jne 0x42450b
mov byte [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xffffffff
mov dword [ebp - 0x10c], 0xffffffff
mov dword [ebp - 0x108], 0xffffffff
jmp 0x42452a
mov byte [ebp - 0x114], 1
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x10c], edx
mov eax, dword [esi + 0x88]
mov dword [ebp - 0x108], eax
cmp dword [esi + 0x8c], 0xffffffff
jne 0x42455a
mov byte [ebp - 0x104], 0
mov dword [ebp - 0x100], 0xffffffff
mov dword [ebp - 0xfc], 0xffffffff
mov dword [ebp - 0xf8], 0xffffffff
jmp 0x424579
mov byte [ebp - 0x104], 1
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xfc], edx
mov eax, dword [esi + 0x8c]
mov dword [ebp - 0xf8], eax
cmp dword [esi + 0x90], 0xffffffff
jne 0x4245a9
mov byte [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0xffffffff
mov dword [ebp - 0xec], 0xffffffff
mov dword [ebp - 0xe8], 0xffffffff
jmp 0x4245c8
mov byte [ebp - 0xf4], 1
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xec], edx
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xe8], eax
cmp dword [esi + 0x94], 0xffffffff
jne 0x4245f8
mov byte [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0xffffffff
mov dword [ebp - 0xdc], 0xffffffff
mov dword [ebp - 0xd8], 0xffffffff
jmp 0x424617
mov byte [ebp - 0xe4], 1
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xdc], edx
mov eax, dword [esi + 0x94]
mov dword [ebp - 0xd8], eax
cmp dword [esi + 0x98], 0xffffffff
jne 0x424647
mov byte [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0xffffffff
mov dword [ebp - 0xcc], 0xffffffff
mov dword [ebp - 0xc8], 0xffffffff
jmp 0x424666
mov byte [ebp - 0xd4], 1
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], edx
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x168]
mov ecx, edi
push eax
call fcn.0042f4d0
push 6
mov ecx, edi
mov dword [edi + 0x3dd78], 0
call fcn.0041e6f0
jmp case.0x424934.711
sub ecx, 0x1fe
je 0x4248ba
sub ecx, 0xa
je 0x424727
sub ecx, 0x50
jne case.0x424934.711
call fcn.0041f8a0
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00456290
push 1
mov ecx, esi
call fcn.00403f20
cmp byte [esi + 0xc8248], 0
jne 0x4246e2
push 0
lea ecx, [esi + 0xf47c]
call fcn.004078a0
mov byte [esi + 0xf295], 0
mov ecx, esi
mov dword [esi + 0xf36c], 0
call fcn.00452e80
add eax, dword [esi + 0xc8230]
mov ecx, esi
mov dword [esi + 0xc8394], eax
call fcn.00453340
push 1
mov ecx, esi
call fcn.00412590
push 0
mov ecx, esi
call fcn.004125f0
mov dword [esi + 0x3dd78], 0xc8
jmp case.0x424934.711
lea esi, [eax + 0x3dca8]
mov ecx, esi
call fcn.004171b0
mov ecx, esi
mov dword [ebp - 0x17c], eax
call fcn.0043cfd0
mov edi, eax
cmp edi, 0x1387
ja 0x4247ca
push dword [ebp - 0x17c]
lea ecx, [ebp - 0x200]
call fcn.0046ba90
sub esp, 0xc
mov byte [ebp - 4], 7
mov ecx, eax
mov esi, esp
call fcn.00403f30
push eax
mov ecx, esi
call fcn.0046ba90
mov esi, dword [ebp - 0x170]
lea eax, [edi + edi*2]
lea edi, [esi + eax*4]
lea ecx, [edi + 0x5f2dc]
call fcn.0046bb00
lea ecx, [ebp - 0x200]
mov byte [ebp - 0x177], al
mov byte [ebp - 4], 0
call fcn.00412b10
cmp byte [ebp - 0x177], 0
je 0x4247d0
sub esp, 0xc
mov ecx, esp
push dword [ebp - 0x17c]
call fcn.0046ba90
lea ecx, [edi + 0x5f2dc]
call fcn.0046bab0
jmp 0x4247d0
mov esi, dword [ebp - 0x170]
push 0
mov ecx, esi
call fcn.00417670
push 0x21
mov ecx, esi
call fcn.00425330
push 0x20
mov ecx, esi
mov edi, eax
call fcn.00425330
mov ecx, dword [ebp - 0x170]
lea esi, [eax - 1]
call fcn.0041e4e0
mov ecx, dword [ebp - 0x170]
call fcn.0041e700
push esi
mov esi, dword [ebp - 0x170]
mov ecx, esi
push edi
call fcn.0043c230
mov ecx, esi
test al, al
je 0x424898
call fcn.0041e4d0
mov ecx, esi
call fcn.0041ee70
push 1
mov ecx, esi
call fcn.00447520
push 0x30
mov ecx, esi
call fcn.00425330
push 0x31
mov ecx, esi
mov dword [0x5d7880], eax
call fcn.00425330
mov ecx, esi
mov dword [0x5d7884], eax
call fcn.004135c0
test al, al
jne 0x424869
cmp dword [0x5d7880], 0
je 0x424869
call fcn.0041f8a0
mov ecx, esi
call fcn.00456290
push 0x1b
mov ecx, esi
call fcn.00425330
test eax, eax
mov ecx, esi
setne al
movzx eax, al
push eax
call fcn.00404080
mov dword [esi + 0x3dd78], 0x32
jmp case.0x424934.711
push 0x4d8360
call fcn.00450ea0
push 3
mov ecx, esi
call fcn.0041e6f0
mov dword [esi + 0x3dd78], 0
jmp case.0x424934.711
mov ecx, eax
call fcn.004388d0
cmp eax, 1
jne 0x4248db
mov eax, dword [ebp - 0x170]
mov dword [eax + 0x3dd78], 0x208
jmp case.0x424934.711
call fcn.0041f8a0
mov esi, dword [ebp - 0x170]
jmp 0x423e93
mov ecx, eax
call fcn.004388d0
cmp eax, 1
jne 0x4248db
mov eax, dword [ebp - 0x170]
mov dword [eax + 0x3dd78], 0x2c6
jmp case.0x424934.711
cmp ecx, 0x384
jg 0x424b56
je 0x424b2f
sub ecx, 0x2c6
cmp ecx, 0x5a
ja case.0x424934.711
movzx eax, byte [ecx + 0x4251d0]
jmp dword [eax*4 + 0x4251bc]
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.00401c70
push 8
mov ecx, esi
call fcn.00441d00
mov eax, dword [esi + 0xc8358]
inc eax
mov dword [esi + 0xc8358], eax
cmp eax, 8
jl 0x42496f
mov dword [esi + 0xc8358], 0
xor eax, eax
push 0
push 0x4d8394
add eax, 0x98
mov ecx, esi
push eax
call fcn.00417f00
call fcn.0041f8a0
jmp 0x423e93
mov esi, dword [ebp - 0x170]
mov ecx, esi
call fcn.004388d0
cmp eax, 1
jne 0x424983
mov dword [esi + 0x3dd78], 0x2f8
jmp case.0x424934.711
mov esi, dword [ebp - 0x170]
cmp dword [esi + 0xc8358], 7
mov dword [esi + 0x3dd78], 0xc8
ja case.0x424934.711
mov ecx, esi
call fcn.00401c70
mov ecx, esi
call fcn.0041e4e0
mov ecx, esi
call fcn.0041e700
mov eax, dword [esi + 0xc8358]
mov ecx, esi
push 0
add eax, 0x98
push eax
call fcn.00418690
mov ecx, esi
test al, al
jne 0x424a05
push 0x4d83a4
jmp 0x42489d
call fcn.0041e4d0
mov ecx, esi
call fcn.0041ee70
push 1
mov ecx, esi
call fcn.00447520
push 0x30
mov ecx, esi
call fcn.00425330
push 0x31
mov ecx, esi
mov dword [0x5d7880], eax
call fcn.00425330
mov ecx, esi
mov dword [0x5d7884], eax
call fcn.004135c0
test al, al
jne 0x424a4f
cmp dword [0x5d7880], 0
je 0x424a4f
call fcn.0041f8a0
mov ecx, esi
call fcn.00456290
push 0x1b
mov ecx, esi
call fcn.00425330
test eax, eax
mov ecx, esi
setne al
movzx eax, al
push eax
call fcn.00404080
push 9
mov ecx, esi
call fcn.00441d00
mov dword [esi + 0x3dd78], 0x32
jmp case.0x424934.711
mov esi, dword [ebp - 0x170]
mov ecx, esi
push 1
call fcn.004125a0
push 1
mov ecx, esi
call fcn.00412590
push 1
mov ecx, esi
call fcn.004125b0
push 0
mov ecx, esi
call fcn.004125f0
push 1
mov ecx, esi
call fcn.00403f20
cmp byte [esi + 0xc8248], 0
jne 0x424ad7
push 0
lea ecx, [esi + 0xf47c]
call fcn.004078a0
mov byte [esi + 0xf295], 0
mov dword [esi + 0xf36c], 0
call fcn.0041f8a0
mov ecx, esi
call fcn.00456290
push 0x1b
mov ecx, esi
call fcn.00425330
test eax, eax
mov ecx, esi
setne al
movzx eax, al
push eax
call fcn.00404080
mov ecx, esi
call fcn.00452e80
add eax, dword [esi + 0xc8230]
mov ecx, esi
mov dword [esi + 0xc8394], eax
call fcn.00453340
mov dword [esi + 0x3dd78], 0xc8
jmp case.0x424934.711
mov ecx, eax
call fcn.004388d0
mov esi, dword [ebp - 0x170]
dec eax
neg eax
sbb eax, eax
and eax, 0xfffffd3a
add eax, 0x38e
mov dword [esi + 0x3dd78], eax
jmp case.0x424934.711
sub ecx, 0x38e
je 0x424c0e
sub ecx, 0x5a
je 0x424b8a
sub ecx, 0xc8
jne case.0x424934.711
call fcn.004098f0
test al, al
je case.0x424934.711
call fcn.00409a40
jmp 0x424c13
cmp byte [0x5d787b], 0
je 0x424bf4
push 1
mov ecx, eax
call fcn.00401c50
mov esi, dword [ebp - 0x170]
test al, al
jne 0x422d70
push 0x4000
mov ecx, esi
call fcn.00401c50
test al, al
jne 0x422d70
push 0x1000000
mov ecx, esi
call fcn.00401f80
test al, al
jne 0x422d70
push 0x2000000
mov ecx, esi
call fcn.00401fa0
test al, al
jne 0x422d70
cmp byte [esi + 0xc8369], al
jne 0x422d70
mov eax, esi
cmp byte [0x5d787a], 0
je case.0x424934.711
mov ecx, eax
call fcn.00452e80
cmp dword [0x5d787c], eax
jae case.0x424934.711
jmp 0x424c13
call fcn.0041f4e0
mov eax, dword [ebp - 0x170]
mov dword [eax + 0x3dd78], 0x64
lea ecx, [ebp - 0x1b4]
call fcn.0046a630
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.00476c36
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret