Function at 0x413d90
Capabilities:
Check http status code

Disassembly:
sub esp, 0x80
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.00413190
mov eax, dword [0x456448]
push eax
call fcn.0042f1ea
add esp, 4
xor ebp, ebp
cmp byte [esi + 0x56d], 0
je case.0x413dd0.2
mov eax, dword [esi + 0x570]
cmp eax, 0xb
ja case.0x413dd0.2
movzx ecx, byte [eax + 0x41659c]
jmp dword [ecx*4 + 0x416588]
movzx edx, byte [esi + 0x56e]
mov ecx, dword [0x453318]
push edx
push 5
call fcn.00424a50
mov dword [esi + 0x570], 1
jmp case.0x413dd0.2
mov ecx, dword [0x453318]
call fcn.00424ab0
test al, al
jne case.0x413dd0.2
mov dword [esi + 0x570], 0xa
jmp case.0x413dd0.2
cmp byte [esi + 0x56e], 0
je 0x413e3d
mov byte [esi + 0x65c], 1
mov dword [esi + 0x570], 0xb
jmp case.0x413dd0.2
mov eax, dword [0x453318]
cmp byte [eax + 0x622d4], 0
je case.0x413dd0.2
mov byte [esi + 0x56d], 0
cmp dword [esi + 0x364], 0x26ac
jbe 0x413e71
call fcn.00428190
test eax, eax
jne 0x413e71
call fcn.004281a0
test eax, eax
jne 0x413e71
cmp byte [esi + 0x5ac], al
jne 0x413e71
mov byte [esi + 0x5ac], 1
mov ecx, dword [0x456448]
mov edx, dword [ecx + 4]
mov dword [esi + 0x368], edx
mov eax, dword [0x456448]
mov eax, dword [eax + 8]
mov dword [esi + 0x36c], eax
mov ebx, 0x64
cmp dword [esi + 0x374], eax
je 0x413f05
mov dword [esi + 0x374], eax
mov byte [esi + 0x5ac], 0
mov dword [esi + 0x364], ebp
mov dword [esi + 0x378], ebp
mov dword [esi + 0x380], ebp
mov eax, dword [0x456448]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
imul ecx, ecx, 0x64
lea edi, [ecx + edx + 0x2e631]
imul edi, edi, 0x64
add edi, dword [eax + 0xc]
cmp edi, 0x13500cf
jl 0x413eec
call fcn.0042ede0
cdq
mov ecx, ebx
idiv ecx
cmp edx, 0xa
jl 0x413ef4
cmp edi, 0x135025f
jl 0x413f05
mov edx, dword [0x4541fc]
push ebp
push ebp
push 0x10
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [0x456448]
mov eax, 0x3b
sub eax, dword [ecx]
mov ecx, dword [esi + 0x37c]
mov dword [esi + 0x5c0], eax
mov eax, dword [0x456448]
mov edx, 0x3b
sub edx, dword [eax + 4]
mov dword [esi + 0x5bc], edx
mov edx, dword [0x456448]
cmp ecx, dword [edx]
je 0x413fe1
call fcn.00428130
test al, al
je 0x413fd4
dec dword [esi + 0x380]
cmp dword [esi + 0x380], ebp
jg 0x413fd4
mov ecx, dword [0x456448]
fild dword [esi + 0x334]
mov eax, 0x3c
sub eax, dword [ecx + 4]
mov edi, ebx
fmul dword [0x445814]
mov edx, eax
shl edx, 4
sub edx, eax
add edx, edx
add edx, edx
mov ecx, edx
sub ecx, dword [esi + 0x37c]
mov eax, 0x51eb851f
mul dword [esi + 0x364]
shr edx, 5
sub edi, edx
mov eax, ecx
cdq
idiv edi
mov edx, 0x24
sub edx, eax
mov dword [esp + 0x1c], edx
fimul dword [esp + 0x1c]
mov dword [esp + 0x20], eax
fiadd dword [esp + 0x20]
call fcn.0042d5b0
inc dword [esi + 0x378]
cmp dword [esi + 0x378], ebx
mov dword [esi + 0x380], eax
jle 0x413fd4
mov dword [esi + 0x378], ebx
mov eax, dword [0x456448]
mov ecx, dword [eax]
mov dword [esi + 0x37c], ecx
push 0x31
mov byte [esp + 0x17], 0
mov byte [esp + 0x2b], 0
mov byte [esp + 0x1f], 0
mov byte [esp + 0x1c], 0
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1d], 0
call fcn.004283d0
push 0x32
mov edi, eax
call fcn.004283d0
push 0x33
mov ebp, eax
call fcn.004283d0
push 0x34
mov ebx, eax
call fcn.004283d0
push 0x35
mov dword [esp + 0x30], eax
call fcn.004283d0
push 0x36
mov dword [esp + 0x38], eax
call fcn.004283d0
push 0x37
mov dword [esp + 0x30], eax
call fcn.004283d0
push 0x38
mov dword [esp + 0x5c], eax
call fcn.004283d0
push 0x39
mov dword [esp + 0x64], eax
call fcn.004283d0
add esp, 0x24
mov dword [esp + 0x38], eax
cmp edi, 1
jne 0x414083
cmp dword [0x4567bc], 0
jne 0x414076
mov byte [esi + 0x339], 1
jmp 0x4140a1
mov ecx, dword [0x453300]
call fcn.00422da0
jmp 0x4140a1
cmp edi, 3
jne 0x4140a1
mov edx, dword [0x453308]
mov byte [edx + 0x339], 0
mov eax, dword [0x453318]
mov byte [eax + 0x330], 0
cmp ebp, 1
jne 0x4140cb
cmp dword [0x4567bc], 0
jne 0x4140be
mov ecx, dword [0x453308]
mov byte [ecx + 0x33a], 1
jmp 0x4140e4
mov ecx, dword [0x453300]
call fcn.00422e10
jmp 0x4140e4
cmp ebp, 3
jne 0x4140e4
mov byte [esi + 0x33a], 0
mov edx, dword [0x453318]
mov byte [edx + 0x331], 0
cmp ebx, 1
jne 0x41413e
cmp dword [0x4567bc], 0
jne 0x414131
mov ecx, dword [0x453318]
cmp byte [ecx + 0x335], 0
jne 0x414122
push ebx
call fcn.00402410
mov eax, dword [0x453318]
mov byte [eax + 0x335], bl
mov ecx, dword [0x453318]
mov dword [ecx + 0x338], 0
mov edx, dword [0x453308]
mov byte [edx + 0x33b], 1
jmp 0x41415c
mov ecx, dword [0x453300]
call fcn.00422f70
jmp 0x41415c
cmp ebx, 3
jne 0x41415c
mov eax, dword [0x453308]
mov byte [eax + 0x33b], 0
mov ecx, dword [0x453318]
mov byte [ecx + 0x332], 0
mov eax, dword [esp + 0x1c]
cmp eax, 1
jne 0x414193
cmp dword [0x4567bc], 0
jle 0x41417c
mov edx, dword [0x453318]
mov byte [edx + 0x333], al
jmp 0x4141ac
cmp byte [0x4567aa], 0
jne 0x4141ac
mov eax, dword [0x453308]
mov byte [eax + 0x33c], 1
jmp 0x4141ac
cmp eax, 3
jne 0x4141ac
mov byte [esi + 0x33c], 0
mov ecx, dword [0x453318]
mov byte [ecx + 0x333], 0
mov eax, dword [esp + 0x20]
cmp eax, 1
jne 0x4141e3
cmp dword [0x4567bc], 0
jle 0x4141cc
mov edx, dword [0x453318]
mov byte [edx + 0x334], al
jmp 0x4141fc
cmp byte [0x4567aa], 0
jne 0x4141fc
mov eax, dword [0x453308]
mov byte [eax + 0x33d], 1
jmp 0x4141fc
cmp eax, 3
jne 0x4141fc
mov byte [esi + 0x33d], 0
mov ecx, dword [0x453318]
mov byte [ecx + 0x334], 0
mov eax, dword [esp + 0x14]
cmp eax, 1
je 0x414225
cmp byte [esi + 0x328], 0
jne 0x414225
cmp byte [esi + 0x394], 0
jne 0x414225
cmp eax, 3
jne 0x414235
mov byte [esi + 0x328], 0
jmp 0x414235
cmp byte [0x4567aa], 0
jne 0x414235
mov byte [esi + 0x328], 1
cmp dword [esp + 0x3c], 1
jne 0x414257
mov ecx, dword [0x453300]
cmp byte [ecx + 0x365], 0
jne 0x414252
call fcn.00422560
jmp 0x414257
call fcn.00422610
mov ebp, 1
cmp dword [esp + 0x40], ebp
jne 0x41427d
mov ecx, dword [0x453300]
cmp byte [ecx + 0x365], 0
jne 0x414278
call fcn.004225c0
jmp 0x41427d
call fcn.00422610
cmp dword [esp + 0x38], ebp
jne 0x41429e
mov ecx, dword [0x453300]
cmp byte [ecx + 0x365], 0
jne 0x414299
call fcn.00422510
jmp 0x41429e
call fcn.00422610
cmp byte [esi + 0x328], 0
je 0x4142b5
call fcn.00428130
test al, al
je 0x4142b5
mov byte [esp + 0x13], 1
cmp byte [esi + 0x339], 0
mov bl, 1
jne 0x4142c4
mov bl, byte [esp + 0x27]
cmp byte [esi + 0x33a], 0
je 0x4142d2
mov byte [esp + 0x1b], 1
cmp byte [esi + 0x33b], 0
je 0x4142e0
mov byte [esp + 0x18], 1
cmp byte [esi + 0x33c], 0
je 0x4142ee
mov byte [esp + 0x1a], 1
cmp byte [esi + 0x33d], 0
je 0x4142fc
mov byte [esp + 0x19], 1
mov eax, dword [esi + 0x5e0]
sub eax, ebp
jne 0x41438d
cmp byte [esp + 0x13], al
je 0x41438d
call fcn.00428190
cmp eax, 0x64
jge 0x414335
call fcn.00428180
cmp eax, 0x64
jge 0x414335
mov ecx, dword [0x453318]
cmp dword [ecx + 0x622f8], 0
jle 0x414393
jmp 0x41433b
mov ecx, dword [0x453318]
mov edi, dword [0x453304]
cmp byte [edi + 0x328], 0
jne 0x414399
cmp byte [edi + 0x329], 0
jne 0x414399
cmp byte [edi + 0x32a], 0
jne 0x414399
cmp byte [edi + 0x4cc], 0
jne 0x414399
cmp byte [esi + 0x56d], 0
jne 0x414399
cmp byte [edi + 0x510], 0
jne 0x414399
mov dword [esi + 0x5e0], 0
mov dword [esi + 0x994], ebp
mov dword [esi + 0x954], ebp
mov ecx, dword [0x453318]
mov edi, dword [0x453304]
mov eax, dword [esi + 0x994]
dec eax
mov ebp, 0xc
lea edx, [ebp - 0xa]
cmp eax, 0x14
ja case.0x415212.5
jmp dword [eax*4 + 0x4165a8]
mov ecx, dword [0x453320]
xor edi, edi
mov dword [0x45644c], edi
call fcn.0040e660
mov ecx, dword [esi + 0x324]
push 0xf
call fcn.00401dd0
mov edx, dword [0x453308]
mov dword [edx + 0x950], edi
inc dword [esi + 0x5b8]
push 0x31
mov ecx, esi
call fcn.004024a0
or eax, 0xffffffff
cmp dword [esi + 0x57c], edi
mov dword [esi + 0x594], edi
mov dword [esi + 0x590], edi
mov byte [esi + 0x384], 0
mov byte [esi + 0x65d], 0
mov byte [esi + 0x3a2], 0
mov dword [esi + 0x94c], eax
mov dword [esi + 0x944], eax
mov byte [esp + 0x14], 0
jle 0x414435
mov byte [esp + 0x14], 1
mov ecx, esi
call fcn.00402520
call fcn.004281f0
mov ebp, eax
mov dword [esp + 0x20], ebp
cmp ebp, 0xc8
jne 0x41446a
call fcn.00428190
cmp eax, 0x64
jg 0x414499
cmp byte [esi + 0x329], 0
jne 0x414499
mov ebp, 0x64
push ebp
jmp 0x41448a
cmp dword [0x456790], 0x7d0
jl 0x414499
cmp ebp, 0x64
jne 0x414499
cmp byte [esi + 0x329], 0
jne 0x414499
mov ebp, 0xc8
push ebp
mov ecx, dword [0x453318]
mov dword [esp + 0x24], ebp
call fcn.004249d0
mov ecx, dword [0x453314]
xor edi, edi
push edi
xor ebx, ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
call fcn.0040bf10
mov ecx, dword [0x453318]
cmp dword [ecx + 0x622f8], ebx
jle 0x41479a
call fcn.004248a0
mov eax, dword [0x453320]
cmp dword [eax + 0x18], ebx
jle 0x4144e4
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0xa
jl 0x4144f6
call fcn.0042ede0
cdq
mov ecx, 0x12c
idiv ecx
cmp edx, 3
jge 0x414509
mov ecx, dword [0x453304]
call fcn.00418ae0
test eax, eax
jne 0x414538
push 0x63
jmp 0x41452d
mov ecx, dword [0x453304]
call fcn.00418ae0
cmp eax, 0x64
jne 0x414538
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0xa
jge 0x414538
push 1
mov ecx, dword [0x453304]
call fcn.00418aa0
cmp byte [esi + 0x65c], 0
jne 0x4145c8
mov ecx, dword [0x453318]
cmp dword [ecx + 0x622dc], 3
jne 0x41455b
push 1
call fcn.00426160
mov edx, dword [esp + 0x14]
mov ecx, dword [0x453320]
push edx
lea eax, [esp + 0x74]
push eax
call fcn.0040eb90
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x324]
push 8
mov dword [esp + 0x38], edx
call fcn.00401d90
test eax, eax
je 0x4145a1
mov ecx, dword [esi + 0x324]
push 8
call fcn.00401e70
mov ecx, dword [esi + 0x324]
push 7
call fcn.00401d90
test eax, eax
jne 0x4146e0
mov ecx, dword [esi + 0x324]
push 7
call fcn.00401e20
jmp 0x4146e0
mov ecx, dword [esi + 0x324]
push 7
call fcn.00401d90
test eax, eax
je 0x4145e6
mov ecx, dword [esi + 0x324]
push 7
call fcn.00401e70
mov ecx, dword [esi + 0x324]
push 8
call fcn.00401d90
test eax, eax
jne 0x414604
mov ecx, dword [esi + 0x324]
push 8
call fcn.00401e20
mov eax, dword [0x453318]
mov ecx, dword [eax + 0x622f8]
test ecx, ecx
jle 0x414677
mov eax, dword [esi + 0x39c]
cdq
idiv ecx
cmp eax, 0xc350
jl 0x41463c
call fcn.0042ede0
mov ebp, eax
and ebp, 0x80000001
jns 0x414637
dec ebp
or ebp, 0xfffffffe
inc ebp
add ebp, 0x10
jmp 0x414689
cmp eax, 0x3a98
jl 0x41465c
call fcn.0042ede0
mov ebp, eax
and ebp, 0x80000003
jns 0x414657
dec ebp
or ebp, 0xfffffffc
inc ebp
add ebp, 0xe
jmp 0x414689
cmp eax, 0x1f40
jl 0x414677
call fcn.0042ede0
cdq
mov ecx, 7
idiv ecx
mov ebp, edx
add ebp, 0xb
jmp 0x414689
call fcn.0042ede0
cdq
mov ecx, 5
idiv ecx
mov ebp, edx
add ebp, 9
mov eax, 0x51eb851f
imul dword [esp + 0x20]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, dword [ebp*8 + 0x451950]
cmp dword [esi + 0x39c], eax
jge 0x4146b1
mov ebp, 9
mov ecx, dword [0x453318]
cmp dword [ecx + 0x622c8], 0x2b
je 0x4146c9
push 1
push 8
call fcn.00424a50
mov ecx, dword [ebp*8 + 0x451950]
sub dword [esi + 0x39c], ecx
mov dword [esi + 0x594], ebp
mov ebp, dword [esp + 0x20]
mov ecx, dword [0x453318]
push 1
call fcn.00424a30
mov eax, dword [esi + 0x654]
mov dword [esi + 0x3a8], 1
mov byte [esi + 0x9a0], 0
test eax, eax
jle 0x41476c
dec eax
mov dword [esi + 0x654], eax
test eax, eax
jg 0x41476c
mov dword [esi + 0x654], 0
call fcn.0042ede0
cdq
mov ecx, 0x19
idiv ecx
lea eax, [edx + 5]
cmp eax, 0x14
mov dword [esi + 0x648], eax
jg 0x414756
call fcn.004281f0
cmp eax, 0xc8
jne 0x41476c
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x41
jge 0x41476c
call fcn.0042ede0
cdq
mov ecx, 0xa
idiv ecx
add edx, 5
mov dword [esi + 0x5a0], edx
dec dword [esi + 0x5a0]
cmp dword [esi + 0x5a0], 0
jg 0x414985
call fcn.0042ede0
cdq
mov ecx, 0x1f4
idiv ecx
add edx, 0xa
mov dword [esi + 0x5a0], edx
jmp 0x414990
call fcn.00428190
cmp eax, 0x64
jl 0x414915
push ebp
call fcn.00428340
add esp, 4
mov dword [esp + 0x1c], 0
call fcn.004281f0
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x4146e0
mov ebp, dword [esp + 0x14]
lea ecx, [ecx]
cmp dword [esi + 0x5a4], 0
jle 0x4148be
dec dword [esi + 0x5a8]
call fcn.00428190
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, dword [esi + 0x5a4]
jle 0x414820
cmp dword [esi + 0x5a8], 0
jg 0x4148e2
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
mov edi, dword [esi + 0x5a4]
mov dword [esi + 0x5a8], edx
call fcn.00428190
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jl 0x41485f
mov dword [esi + 0x5a8], 0
mov eax, dword [esi + 0x96c]
dec edi
mov dword [esi + 0x5a4], edi
test eax, eax
jle 0x41487e
cmp byte [esp + 0x14], 0
jne 0x41487e
dec eax
mov dword [esi + 0x96c], eax
call fcn.00428280
push ebp
lea ecx, [esp + 0x54]
push ecx
mov ecx, dword [0x453320]
call fcn.0040eca0
mov edi, dword [eax]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
test edi, edi
jg 0x4146dc
cmp dword [esi + 0x5a4], 0
jle 0x4146dc
jmp 0x4148e2
push ebp
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [0x453320]
call fcn.0040eb90
mov edx, dword [eax + 8]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
test edi, edi
jg 0x4146dc
inc dword [esp + 0x1c]
call fcn.004281f0
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp dword [esp + 0x1c], ecx
jl 0x4147e0
jmp 0x4146dc
call fcn.00428180
cmp eax, 0x64
jl case.0x415212.5
dec dword [esi + 0x378]
add dword [esi + 0x364], ebp
push ebp
call fcn.00428360
add esp, 4
call fcn.00428280
mov eax, dword [esi + 0x96c]
test eax, eax
jle 0x414955
cmp byte [esp + 0x14], 0
jne 0x414955
dec eax
mov dword [esi + 0x96c], eax
mov edx, dword [esp + 0x14]
mov ecx, dword [0x453320]
push edx
lea eax, [esp + 0x84]
push eax
call fcn.0040eca0
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
jmp 0x4146e0
mov ecx, dword [0x453318]
call fcn.004263a0
cmp dword [esp + 0x30], 0
jle 0x414c53
test edi, edi
jle 0x414c53
push 0xffffffffffffffff
push 1
push edi
mov ecx, esi
call fcn.00410210
mov dword [esi + 0x390], eax
cmp eax, 0xffffffff
jne 0x4149c3
cmp edi, 1
jne 0x414c53
mov byte [esi + 0x395], 0
cmp edi, 0x493e0
jne 0x414a0e
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x2b
jne 0x414a69
call fcn.0042ede0
mov edi, eax
and edi, 0x80000001
jns 0x4149fc
dec edi
or edi, 0xfffffffe
inc edi
neg edi
sbb edi, edi
and edi, 0xfffcf2c0
add edi, 0x927c0
jmp 0x414a57
lea edx, [edi - 0x4e21]
cmp edx, 0x270e
ja 0x414a69
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x32
jge 0x414a69
mov dword [esp + 0x44], 0x5dc0
mov dword [esp + 0x48], 0x6978
mov dword [esp + 0x4c], 0x6d60
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
mov edi, dword [esp + edx*4 + 0x44]
push 0xffffffffffffffff
push 1
push edi
mov ecx, esi
call fcn.00410210
mov dword [esi + 0x390], eax
cmp byte [esi + 0x329], 0
je 0x414b32
cmp byte [esi + 0x65c], 0
jne 0x414aa7
cmp dword [esi + 0x39c], 0x186a0
jle 0x414aa7
test edi, edi
jne 0x414aa7
mov edx, dword [0x453318]
cmp dword [edx + 0x622f8], 5
jl 0x414aa7
mov byte [esi + 0x56e], 1
jmp 0x414ac0
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 2
jge 0x414ad1
mov byte [esi + 0x56e], 0
mov dword [esi + 0x570], 0
mov byte [esi + 0x56d], 1
cmp byte [esi + 0x329], 0
je 0x414b32
cmp byte [esi + 0x56d], 0
jne 0x414b32
cmp edi, 0x11170
jl 0x414b32
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x23
jg 0x414b32
mov edx, dword [0x453318]
cmp dword [edx + 0x622f8], 0xa
jl 0x414b32
imul ebx, edi
add dword [esi + 0x39c], ebx
mov byte [esi + 0x56d], 1
mov byte [esi + 0x56e], 1
mov dword [esi + 0x570], 0
jmp 0x414c53
cmp ebp, 0x64
jne 0x414bbd
cmp byte [esi + 0x329], 0
jne 0x414c3e
cmp edi, 0x9c40
jl 0x414c3e
mov eax, dword [0x453320]
mov ebp, dword [eax + 0x14d0]
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, ebp
jge 0x414c3e
mov eax, ebx
imul eax, edi
add dword [esi + 0x39c], eax
mov byte [esi + 0x396], 1
mov dword [esi + 0x398], eax
call fcn.0042ede0
cdq
mov ecx, 0xb
idiv ecx
lea ebx, [ecx - 0xa]
push 0xffffffffffffffff
push ebx
mov ecx, esi
add edx, 0x14
imul edx, edx, 0x3e8
mov edi, edx
push edi
call fcn.00410210
mov dword [esi + 0x390], eax
jmp 0x414c3e
cmp ebp, 0xc8
jne 0x414c3e
call fcn.00428190
cmp eax, 0x7d0
jle 0x414c3e
mov eax, edi
cdq
sub eax, edx
push 0xffffffffffffffff
sar eax, 1
mov ebx, 1
mov edi, eax
push ebx
push edi
mov ecx, esi
mov byte [esi + 0x395], 1
call fcn.00410210
mov dword [esi + 0x390], eax
call fcn.00428190
cmp eax, 0x2710
jle 0x414c3a
cmp byte [esi + 0x329], 0
jne 0x414c3a
call fcn.00428190
cmp eax, 0x7530
jg 0x414c22
mov dword [esp + 0x34], 2
jmp 0x414c3e
call fcn.00428190
xor edx, edx
cmp eax, 0xc350
setg dl
add edx, 3
mov dword [esp + 0x34], edx
jmp 0x414c3e
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
push 1
push ebx
push edi
push ecx
mov ecx, esi
call fcn.00410080
cmp dword [esi + 0x378], 1
mov ebp, 3
jg 0x414c7f
call fcn.00428190
cmp eax, 0x320
jl 0x414cc0
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x46
jge 0x414cc0
mov ebp, 1
call fcn.004281f0
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add dword [esi + 0x574], eax
cmp dword [esi + 0x574], 0xa
jl 0x414cc0
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x19
jge 0x414cc0
lea ebp, [ecx - 0x62]
xor ebx, ebx
call fcn.00428190
test eax, eax
jne 0x414dab
cmp byte [esi + 0x329], al
jne 0x414d35
cmp dword [esi + 0x378], eax
jle 0x414d26
cmp byte [esi + 0x396], al
je 0x414d11
call fcn.00428190
cmp eax, 0x7d0
jge 0x414d11
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x50
jg 0x414d11
call fcn.004281f0
cmp eax, 0xc8
je 0x414d26
call fcn.004281f0
cmp eax, 0xc8
jne 0x414d35
cmp dword [esi + 0x574], 0x14
jl 0x414d35
mov ebx, 1
mov byte [esi + 0x9a0], 1
lea ebp, [ebx + 3]
mov eax, dword [esi + 0x5bc]
cmp eax, 0x3a
jle 0x414d55
cmp dword [esi + 0x364], 0x26ac
jae 0x414d6e
cmp byte [esi + 0x5ac], 0
jne 0x414d6e
test eax, eax
jl 0x414d7c
cmp dword [esi + 0x364], 0x26ac
jae 0x414d6e
cmp byte [esi + 0x5ac], 0
je 0x414d7c
mov ebp, 4
lea ebx, [ebp - 3]
mov byte [esi + 0x9a0], bl
cmp byte [esi + 0x9a0], 0
je 0x414dab
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
test edx, edx
jl 0x414da6
cmp edx, 1
jle 0x414da4
cmp edx, 2
jne 0x414da6
mov ebx, edx
jmp 0x414da6
mov ebx, ecx
mov ebp, 1
call fcn.00428190
cmp eax, 0x7d0
jl 0x414dd1
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
xor ebx, ebx
lea ebp, [ecx - 0x63]
cmp edx, 0x5f
jle 0x414dd1
lea ebp, [ecx - 0x61]
xor edi, edi
call fcn.0042ede0
cdq
idiv ebp
lea eax, [edx + ebx - 1]
cmp eax, 5
ja case.default.0x414de4
jmp dword [eax*4 + 0x4165fc]
mov dword [esi + 0x574], 0
mov edi, 1
jmp 0x414e88
mov dword [esi + 0x574], 0
mov edi, 2
jmp 0x414e88
mov dword [esi + 0x574], 0
jmp 0x414e77
mov dword [esi + 0x574], 0
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
mov edi, edx
add edi, 6
jmp 0x414e88
mov dword [esi + 0x574], 0
mov edi, 9
jmp 0x414e88
mov dword [esi + 0x574], 0
mov edi, 0xa
jmp 0x414e88
cmp byte [esi + 0x329], 0
je 0x414e88
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x19
jg 0x414e88
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
mov edi, edx
add edi, ecx
xor ebx, ebx
lea ebx, [ebx]
push ebx
push ebx
push edi
mov ecx, esi
call fcn.00411260
test al, al
je 0x414e90
push ebx
mov ecx, esi
call fcn.00410430
dec dword [esi + 0x58c]
cmp dword [esi + 0x998], ebx
jle 0x414ede
mov edx, dword [esi + 0x99c]
mov ecx, dword [0x453318]
push edx
call fcn.00424a30
mov eax, dword [esi + 0x998]
mov dword [esi + 0x594], eax
mov dword [esi + 0x998], ebx
mov dword [esi + 0x99c], ebx
cmp dword [esi + 0x59c], ebx
jle 0x414fbb
cmp dword [esi + 0x390], ebx
mov dword [esi + 0x59c], ebx
mov byte [esi + 0x990], 1
jl 0x414f98
cmp byte [esi + 0x395], 0
je 0x414f3f
mov byte [esi + 0x395], 0
call fcn.004281f0
cmp eax, 0x64
jne 0x414f3f
mov eax, dword [esi + 0x390]
lea ecx, [eax + eax*2]
mov eax, dword [ecx*4 + 0x454208]
push 0xffffffffffffffff
push 1
push eax
mov ecx, esi
call fcn.00410210
mov dword [esi + 0x390], eax
mov eax, dword [esi + 0x390]
lea eax, [eax + eax*2]
add eax, eax
mov edx, dword [eax + eax + 0x45420c]
add eax, eax
mov dword [esi + 0x594], edx
mov eax, dword [eax + 0x454210]
mov ecx, dword [0x453318]
push eax
call fcn.00424a30
cmp dword [esi + 0x594], 0xc
jl 0x414f87
mov eax, dword [esi + 0x390]
lea ecx, [eax + eax*2]
cmp dword [ecx*4 + 0x454210], 0xf
jge 0x414f93
mov edx, dword [0x453320]
cmp dword [edx + 0x18], 4
jl 0x414f98
call fcn.0042ede0
cmp dword [esi + 0x594], 0xe
jne 0x414fbb
call fcn.0042ede0
and eax, 0x80000001
jns 0x414fb2
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0xe
mov dword [esi + 0x594], eax
cmp dword [esi + 0x594], ebx
jle 0x414ff9
jmp 0x414fd0
movzx eax, byte [esi + 0x599]
movzx ecx, byte [esi + 0x598]
mov edx, dword [esi + 0x594]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00411260
test al, al
je 0x414fd0
mov byte [esi + 0x598], 0
push ebx
mov ecx, esi
call fcn.0040fed0
mov dword [esi + 0x994], 2
mov dword [esi + 0x954], 1
jmp case.0x415212.5
cmp byte [esi + 0x5e4], 0
je case.0x415212.5
mov ecx, esi
mov dword [esi + 0x994], 3
mov dword [esi + 0x5dc], 0
call fcn.004127e0
jmp case.0x415212.5
test bl, bl
je 0x415089
mov ecx, dword [esi + 0x324]
push 1
mov byte [esi + 0x65d], 1
call fcn.00401d50
test eax, eax
jne 0x415070
mov ecx, dword [esi + 0x324]
push 1
call fcn.00401dd0
cmp byte [esi + 0x69d], 0
je 0x415089
cmp byte [esi + 0x69c], 0
sete al
mov byte [esi + 0x69c], al
cmp byte [esp + 0x1b], 0
je 0x4150ce
mov ecx, dword [esi + 0x324]
push 1
mov byte [esi + 0x65d], 1
call fcn.00401d50
test eax, eax
jne 0x4150b5
mov ecx, dword [esi + 0x324]
push 1
call fcn.00401dd0
cmp byte [esi + 0x6c9], 0
je 0x4150ce
cmp byte [esi + 0x6c8], 0
sete cl
mov byte [esi + 0x6c8], cl
cmp byte [esp + 0x18], 0
je 0x415113
mov ecx, dword [esi + 0x324]
push 1
mov byte [esi + 0x65d], 1
call fcn.00401d50
test eax, eax
jne 0x4150fa
mov ecx, dword [esi + 0x324]
push 1
call fcn.00401dd0
cmp byte [esi + 0x6f5], 0
je 0x415113
cmp byte [esi + 0x6f4], 0
sete dl
mov byte [esi + 0x6f4], dl
cmp byte [esp + 0x1a], 0
je 0x415158
mov ecx, dword [esi + 0x324]
push 1
mov byte [esi + 0x65d], 1
call fcn.00401d50
test eax, eax
jne 0x41513f
mov ecx, dword [esi + 0x324]
push 1
call fcn.00401dd0
cmp byte [esi + 0x721], 0
je 0x415158
cmp byte [esi + 0x720], 0
sete al
mov byte [esi + 0x720], al
cmp byte [esp + 0x19], 0
je 0x41519d
mov ecx, dword [esi + 0x324]
push 1
mov byte [esi + 0x65d], 1
call fcn.00401d50
test eax, eax
jne 0x415184
mov ecx, dword [esi + 0x324]
push 1
call fcn.00401dd0
cmp byte [esi + 0x74d], 0
je 0x41519d
cmp byte [esi + 0x74c], 0
sete cl
mov byte [esi + 0x74c], cl
cmp byte [esp + 0x13], 0
je case.0x415212.5
push 2
mov ecx, esi
call fcn.00402410
push 0
push 0xffffffffffffffff
mov ecx, esi
call fcn.00412d90
cmp byte [esi + 0x941], 0
jne 0x4151d4
mov dword [esi + 0x994], 4
jmp case.0x415212.5
mov dword [esi + 0x994], 5
mov dword [esi + 0x564], 1
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
add edx, ecx
mov dword [esi + 0x568], edx
jmp case.0x415212.5
mov eax, dword [esi + 0x564]
dec eax
cmp eax, 0xe
ja case.0x415212.5
jmp dword [eax*4 + 0x416614]
push 3
push 0x3e8
mov ecx, esi
call fcn.00402440
test eax, eax
je case.0x415212.5
dec dword [esi + 0x568]
cmp dword [esi + 0x568], 0
jg case.0x415212.5
cmp byte [esi + 0x329], 0
mov ecx, dword [0x453318]
je 0x41526f
movzx edx, byte [esi + 0x56c]
push edx
push 6
call fcn.00424a50
mov dword [esi + 0x564], 0xa
jmp case.0x415212.5
push 1
push 1
push 0
call fcn.00424730
mov ecx, dword [0x453318]
push 1
push 1
push 1
call fcn.00424730
mov dword [esi + 0x564], 2
jmp case.0x415212.5
push 0
call fcn.00424650
cmp eax, 0x11
je 0x4152b8
mov ecx, dword [0x453318]
push 1
call fcn.00424650
cmp eax, 0x11
jne 0x4152e5
mov ecx, dword [0x453318]
push 0
push 1
push 0xffffffffffffffff
call fcn.00424790
cmp byte [esi + 0x56c], 0
mov ecx, dword [0x453318]
push 1
je 0x4152de
push 1
jmp 0x4152e0
push 2
call fcn.004261e0
mov ecx, dword [0x453318]
cmp byte [ecx + 0x62284], 0
je case.0x415212.5
cmp byte [ecx + 0x62298], 0
je case.0x415212.5
push 0
call fcn.00424680
mov ecx, dword [0x453318]
push 1
call fcn.00424680
mov dword [esi + 0x564], 3
jmp case.0x415212.5
cmp byte [ecx + 0x622d4], 0
je case.0x415212.5
cmp byte [esi + 0x56c], 0
jne 0x415372
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x28
jle 0x41536c
mov dword [esi + 0x564], 0xe
mov ecx, dword [0x453318]
push 0
call fcn.00426160
jmp case.0x415212.5
mov ecx, dword [0x453318]
push 0
push 1
push 6
call fcn.00424790
mov dword [esi + 0x564], 4
jmp case.0x415212.5
cmp byte [ecx + 0x622c0], 0
je case.0x415212.5
cmp byte [esi + 0x56c], 0
mov edi, 0x23
je 0x4153ac
mov edi, 0x46
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, edi
jge 0x4153ee
push 0
call fcn.0042ede0
and eax, 0x80000001
jns 0x4153d0
dec eax
or eax, 0xfffffffe
inc eax
inc eax
push eax
call fcn.0042ede0
cdq
mov ecx, 5
idiv ecx
mov ecx, dword [0x453318]
add edx, 8
push edx
call fcn.00424790
mov dword [esi + 0x564], 6
jmp case.0x415212.5
cmp byte [ecx + 0x622c0], 0
je case.0x415212.5
push 0
push 1
push 6
call fcn.00424790
cmp byte [esi + 0x56c], 0
jne 0x41544c
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x23
jle 0x41544c
mov ecx, dword [0x453318]
push 0
call fcn.00426160
mov dword [esi + 0x564], 0xe
jmp case.0x415212.5
mov dword [esi + 0x564], 7
jmp case.0x415212.5
cmp byte [ecx + 0x622c0], 0
je case.0x415212.5
push 1
push 4
call fcn.004261e0
mov dword [esi + 0x564], 8
jmp case.0x415212.5
cmp byte [ecx + 0x622d4], 0
je case.0x415212.5
push 0
push 1
push 0x10
call fcn.00424790
mov dword [esi + 0x564], 9
jmp case.0x415212.5
cmp byte [ecx + 0x622c0], 0
je case.0x415212.5
mov eax, dword [esi + 0x390]
lea eax, [eax + eax*2]
xor edi, edi
cmp dword [eax*4 + 0x454210], 3
jle 0x4154ea
cmp dword [esi + 0x39c], 0x7530
mov edi, 0x2c
jl 0x4154df
mov edi, 0x2e
mov ecx, dword [0x453320]
cmp dword [ecx + 0x18], edx
jmp 0x415503
cmp dword [esi + 0x39c], 0x7530
jl 0x4154fb
mov edi, 0x2e
mov eax, dword [0x453320]
cmp dword [eax + 0x18], edx
jle 0x41550a
mov edi, 0x2d
cmp byte [esi + 0x56c], 0
je 0x415551
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x14
jge 0x415551
test edi, edi
jle 0x415551
mov ecx, dword [0x453318]
push 0
push 1
push edi
call fcn.00424790
push 4
mov ecx, esi
mov dword [esi + 0x564], 0xb
call fcn.00402410
jmp case.0x415212.5
xor edi, edi
cmp byte [esi + 0x56c], 0
je 0x415573
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0xa
jge 0x415573
lea edi, [ecx - 0x63]
jmp 0x415597
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x32
jge 0x415597
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
mov edi, edx
add edi, 2
movzx edx, byte [esi + 0x56c]
mov ecx, dword [0x453318]
push edx
push edi
call fcn.00424a50
push 4
mov ecx, esi
mov dword [esi + 0x564], 0xa
call fcn.00402410
jmp case.0x415212.5
call fcn.00424ab0
test al, al
je 0x4155e2
push 4
push 0x7530
mov ecx, esi
call fcn.00402440
test eax, eax
je case.0x415212.5
mov ecx, dword [0x453318]
push 1
push 6
call fcn.004261e0
mov dword [esi + 0x564], 0xe
jmp case.0x415212.5
cmp byte [ecx + 0x622c0], 0
jne 0x415625
push 4
push 0x7530
mov ecx, esi
call fcn.00402440
test eax, eax
je case.0x415212.5
mov ecx, dword [0x453318]
push 1
call fcn.00426160
mov dword [esi + 0x564], 0xe
jmp case.0x415212.5
mov eax, dword [esi + 0x944]
imul eax, eax, 0x2c
mov dword [eax + esi + 0x67c], 3
mov dword [esi + 0x564], 0xf
jmp case.0x415212.5
mov dword [esi + 0x564], 0
mov dword [esi + 0x994], 4
jmp case.0x415212.5
cmp byte [esi + 0x5e4], 0
je case.0x415212.5
push 0
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
call fcn.0040fa90
mov eax, dword [esp + 0x28]
cmp eax, 0xb
mov ecx, dword [esi + 0x324]
mov dword [esi + 0x55c], eax
mov byte [esi + 0x664], 0
jl 0x415706
push 4
call fcn.00401e70
call fcn.004281f0
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
mov ecx, dword [esi + 0x55c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, dword [ecx*8 + 0x451950]
push 7
mov dword [0x45644c], eax
call fcn.00428110
mov ecx, dword [esi + 0x324]
add esp, 4
push 9
mov dword [esi + 0x994], 6
call fcn.00401dd0
jmp case.0x415212.5
push 5
call fcn.00401d50
test eax, eax
je case.0x4143b1.11
mov ecx, dword [esi + 0x324]
push 5
call fcn.00401e70
mov dword [esi + 0x994], 0xe
jmp case.0x415212.5
cmp dword [esi + 0x950], 3
jne case.0x415212.5
mov ebx, dword [ecx + 0x622e8]
mov dword [esi + 0x3a8], 0xffffffff
mov dword [esi + 0x3a4], 0
call fcn.004281f0
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
mov ecx, dword [esi + 0x55c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
imul ebp, dword [ecx*8 + 0x451950]
cmp byte [esi + 0x329], 0
jne 0x415850
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [0x453318]
cmp edx, 0x46
jg 0x4157b2
cmp dword [eax + 0x622e8], 0x14
jl 0x4157b2
cmp dword [esi + 0x55c], 0xb
jg 0x4157f5
mov edx, ebp
imul edx, ebx
cmp edx, 0x493e0
jl 0x4157c8
cmp dword [eax + 0x622e8], 0x14
jge 0x4157f5
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 3
jge 0x41593e
cmp dword [esi + 0x55c], 0xb
jne 0x4157f5
call fcn.004281f0
cmp eax, 0x64
je 0x41593e
mov byte [esi + 0x3a3], 1
call fcn.0042ede0
cdq
mov ecx, 0xc
idiv ecx
add edx, 8
mov dword [esi + 0x3a4], edx
mov edx, dword [0x453318]
mov eax, dword [edx + 0x622e8]
cmp eax, 0x14
jl 0x41593e
mov dword [esi + 0x3a8], eax
call fcn.0042ede0
cdq
mov ecx, 0xc
idiv ecx
mov ecx, dword [0x453318]
mov ebx, edx
add ebx, 4
push ebx
call fcn.00424a30
jmp 0x41593e
mov edi, ebp
imul edi, ebx
cmp edi, 0x55730
mov dword [esp + 0x14], 8
jl 0x41586f
mov dword [esp + 0x14], 0x64
jmp 0x4158c7
cmp edi, 0x3d090
jl 0x415881
mov dword [esp + 0x14], 0x55
jmp 0x4158c7
cmp edi, 0x30d40
jl 0x415893
mov dword [esp + 0x14], 0x41
jmp 0x4158c7
cmp edi, 0x29810
jl 0x4158a5
mov dword [esp + 0x14], 0x2d
jmp 0x4158c7
cmp edi, 0x1d4c0
jl 0x4158b7
mov dword [esp + 0x14], 0x1e
jmp 0x4158c7
cmp edi, 0x19a28
jl 0x4158c7
mov dword [esp + 0x14], 0x14
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, dword [esp + 0x14]
jge 0x41593e
cmp byte [esi + 0x65c], 0
jne 0x41593e
mov byte [esi + 0x3a3], 1
call fcn.0042ede0
cdq
mov ecx, 0xc
idiv ecx
add edx, 8
cmp edi, 0x186a0
mov dword [esi + 0x3a4], edx
jle 0x41593e
xor edx, edx
cmp edi, 0x493e0
setl dl
dec edx
and edx, 0x186a0
add edx, 0x186a0
sub edi, edx
mov dword [esi + 0x3a8], edx
mov eax, edi
cdq
idiv ebp
mov ebx, eax
imul eax, ebp
cmp eax, edi
je 0x41593e
sub edi, eax
add dword [esi + 0x39c], edi
cmp dword [esi + 0x55c], 0xb
jl case.0x4143b1.11
push 0
push 0x384
push ebp
mov dword [esi + 0x970], 0
mov ecx, dword [0x453324]
push 0
call fcn.00428ca0
cmp byte [esi + 0x329], 0
jne 0x4159cd
mov byte [esi + 0x3a0], 1
mov eax, dword [0x453320]
cmp dword [eax + 0x18], 0
jg 0x415997
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 7
jge 0x4159a9
cmp byte [esi + 0x396], 0
jne 0x4159a9
mov byte [esi + 0x3a1], 1
jmp 0x4159b0
mov byte [esi + 0x3a1], 0
mov ecx, dword [0x453304]
push ebx
push 1
call fcn.00418400
mov dword [esi + 0x994], 8
jmp case.0x415212.5
mov edx, dword [0x453308]
cmp byte [edx + 0x65c], 0
jne case.0x4143b1.11
mov ecx, dword [esi + 0x324]
push 7
call fcn.00401e70
call fcn.004281f0
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
lea eax, [ebx - 1]
imul eax, ebp
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cdq
idiv ecx
mov ecx, dword [0x453304]
push eax
call fcn.00418680
mov dword [esi + 0x994], 9
jmp case.0x415212.5
mov edx, dword [0x453324]
cmp byte [edx + 0x37b], 0
je case.0x415212.5
cmp byte [edi + 0x36c], 0
jne case.0x415212.5
cmp dword [esi + 0x950], 0x81
jne case.0x415212.5
mov dword [esi + 0x994], ebp
mov eax, dword [0x453308]
mov dword [eax + 0x954], 7
jmp case.0x415212.5
cmp byte [edi + 0x4f1], 0
jne case.0x415212.5
cmp byte [esi + 0x3a2], 0
je 0x415a9e
push 1
push 7
call fcn.00424a50
mov ecx, dword [0x453318]
mov edi, dword [0x453304]
cmp byte [esi + 0x329], 0
jne 0x415ac6
mov ecx, dword [ecx + 0x622e8]
push 1
push ecx
mov ecx, esi
call fcn.004138b0
mov dword [esi + 0x994], 0xf
jmp case.0x415212.5
mov eax, dword [esi + 0x3a8]
cmp eax, 1
mov edi, dword [edi + 0x33c]
mov dword [esi + 0x590], edi
jle 0x415ae5
add edi, eax
mov dword [esi + 0x590], edi
push 0
push 1
mov ecx, esi
call fcn.004138b0
mov dword [esi + 0x3a8], 0xffffffff
mov dword [esi + 0x994], 0xf
jmp case.0x415212.5
mov edx, dword [0x453324]
cmp byte [edx + 0x37b], 0
je case.0x415212.5
cmp byte [edi + 0x3a0], 0
jne case.0x415212.5
mov ecx, edi
call fcn.004090d0
test al, al
jne case.0x415212.5
cmp byte [edi + 0x368], al
jne case.0x4143b1.11
cmp dword [esi + 0x950], 0x85
jne case.0x415212.5
mov dword [esi + 0x994], 0xa
mov eax, dword [0x453308]
mov dword [eax + 0x954], 7
jmp case.0x415212.5
mov ecx, dword [edi + 0x33c]
push 0
mov dword [esi + 0x590], ecx
push 1
mov ecx, esi
call fcn.004138b0
mov dword [esi + 0x994], 0xf
jmp case.0x415212.5
mov edx, dword [0x453324]
cmp byte [edx + 0x37b], 0
je case.0x415212.5
cmp byte [edi + 0x36c], 0
jne case.0x415212.5
mov ecx, edi
call fcn.004090d0
test al, al
jne case.0x415212.5
cmp byte [edi + 0x368], al
jne case.0x4143b1.11
cmp dword [esi + 0x950], 0x85
jne case.0x415212.5
mov ecx, dword [esi + 0x324]
push 5
call fcn.00401d50
test eax, eax
je 0x415a59
mov ecx, dword [esi + 0x324]
push 5
call fcn.00401e70
jmp 0x415a59
mov ecx, dword [0x453308]
cmp dword [ecx + 0x950], 0x81
jne case.0x415212.5
mov dword [esi + 0x994], 0xb
jmp case.0x415212.5
mov edx, dword [ecx + 0x622e8]
push 0
push edx
jmp 0x415b82
cmp byte [esi + 0x3a3], 0
je 0x415cdf
push 1
push 0x3e8
mov ecx, esi
call fcn.00402440
test eax, eax
je case.0x415212.5
dec dword [esi + 0x3a4]
cmp dword [esi + 0x3a4], 0
jg case.0x415212.5
mov eax, dword [esi + 0x3a8]
mov ecx, dword [0x453304]
push eax
call fcn.00417df0
mov ecx, dword [esi + 0x964]
push ecx
mov ecx, dword [esi + 0x324]
call fcn.00401e70
mov eax, dword [esi + 0x3a8]
cmp eax, 0xffffffff
je 0x415cbe
cmp eax, 0x1e
mov byte [esi + 0x3a2], 1
mov ecx, dword [0x453318]
jg 0x415cb7
push eax
jmp 0x415cb9
push 1
call fcn.00424a30
mov byte [esi + 0x3a3], 0
mov dword [esi + 0x994], 0xd
mov ecx, dword [0x453324]
call fcn.00428cf0
jmp case.0x415212.5
mov eax, dword [esi + 0x3b0]
mov ecx, 1
cmp word [eax + 0x402], cx
jne 0x415d18
add word [eax + 0x404], cx
mov eax, dword [esi + 0x3b0]
movsx edx, word [eax + 0x404]
cmp edx, dword [eax + 0x3dc]
jl 0x415d18
xor ecx, ecx
mov word [eax + 0x404], cx
mov eax, dword [0x453324]
cmp dword [eax + 0x4e0], 0
jle 0x415d66
cmp word [eax + 0x398], 0
mov ecx, dword [0x45331c]
jne 0x415d3f
cmp byte [ecx + 0x4e1], 0
je 0x415d4c
call fcn.0041f040
test al, al
je case.0x415212.5
mov dword [esi + 0x994], 0x11
mov ecx, dword [0x453324]
call fcn.00428d40
jmp case.0x415212.5
push 2
push 0x9c4
mov ecx, esi
call fcn.00402440
test eax, eax
jne 0x415d82
cmp byte [esp + 0x13], al
je case.0x415212.5
mov dword [esi + 0x994], 0x10
jmp case.0x415212.5
mov edx, dword [0x453324]
cmp word [edx + 0x398], 0
jne 0x415e32
mov eax, dword [esi + 0x964]
test eax, eax
jle 0x415e22
mov ecx, dword [esi + 0x324]
push eax
call fcn.00401d50
test eax, eax
je 0x415e1c
mov eax, dword [esi + 0x964]
mov ecx, dword [esi + 0x324]
push eax
call fcn.00401f30
mov ecx, dword [esi + 0x964]
sub eax, 0x50
push eax
push ecx
mov ecx, dword [esi + 0x324]
call fcn.00401ee0
mov edx, dword [esi + 0x964]
mov ecx, dword [esi + 0x324]
push edx
call fcn.00401f30
cmp eax, 0xffffec78
jge 0x415e1c
mov eax, dword [esi + 0x964]
mov ecx, dword [esi + 0x324]
push eax
call fcn.00401e70
mov dword [esi + 0x964], 0
mov edi, dword [0x453304]
cmp byte [esi + 0x3a2], 0
je 0x415e32
mov ecx, edi
call fcn.00418b10
mov ecx, dword [0x453324]
cmp dword [ecx + 0x39c], 0
jne case.0x415212.5
mov edx, dword [esi + 0x964]
mov ecx, dword [esi + 0x324]
push edx
call fcn.00401d50
test eax, eax
jne case.0x415212.5
cmp byte [esi + 0x329], al
jne 0x415f09
mov eax, dword [0x453318]
mov edi, dword [eax + 0x622e8]
call fcn.004281f0
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, ecx
imul eax, dword [esi + 0x974]
imul eax, edi
add dword [0x4541f0], eax
add dword [0x453868], eax
cmp eax, 0x4e20
mov dword [esp + 0x1c], eax
jl 0x415eb7
fild dword [esp + 0x1c]
jmp 0x415ec8
cmp eax, 0x2710
jl 0x415edf
fild dword [esp + 0x1c]
fmul dword [0x445c50]
fmul dword [0x445814]
fiadd dword [esi + 0x5a4]
call fcn.0042d5b0
mov dword [esi + 0x5a4], eax
cmp dword [esi + 0x5a4], 0
jle 0x415efb
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
mov dword [esi + 0x5a8], edx
call fcn.004281a0
push eax
call fcn.00428200
add esp, 4
cmp byte [esi + 0x3a2], 0
je 0x415f1d
mov ecx, dword [0x453304]
call fcn.00418b00
mov ecx, dword [0x453318]
call fcn.004263a0
mov ecx, esi
call fcn.0040ffa0
mov dword [esi + 0x994], 0x10
jmp case.0x415212.5
cmp byte [esi + 0x5e5], 0
jne 0x415f53
mov ecx, esi
call fcn.0040ffa0
mov edx, 2
cmp dword [0x45644c], 0
jne 0x415f71
mov dword [esi + 0x954], edx
mov dword [esi + 0x994], 0x12
jmp case.0x415212.5
push 9
call fcn.00428110
add esp, 4
mov dword [esi + 0x994], 0x12
jmp case.0x415212.5
mov ecx, edi
call fcn.004090d0
test al, al
jne case.0x415212.5
cmp byte [edi + 0x4cc], al
jne case.0x415212.5
mov dword [esi + 0x994], 0
jmp case.0x415212.5
mov eax, dword [edi + 0x514]
cmp eax, ebp
je 0x415fea
cmp byte [edi + 0x510], 0
je 0x415fea
cmp eax, 0xe
jne case.0x415212.5
mov dword [esi + 0x994], 0
mov ecx, dword [0x453304]
call fcn.00418af0
jmp 0x41627b
mov ecx, edi
call fcn.00418af0
mov byte [esi + 0x329], 0
mov ecx, dword [0x453318]
call fcn.00426280
mov dword [esi + 0x994], 0
call fcn.004281a0
add dword [0x4541f0], eax
call fcn.004281a0
add dword [0x453868], eax
call fcn.004281a0
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fmul dword [0x445814]
fiadd dword [esi + 0x5a4]
call fcn.0042d5b0
mov dword [esi + 0x5a4], eax
call fcn.004281a0
push eax
call fcn.00428200
push 0
call fcn.004281d0
add esp, 8
jmp 0x41627b
mov eax, dword [esi + 0x950]
cmp eax, 6
je 0x416077
cmp eax, 0x81
jne case.0x415212.5
cmp byte [esi + 0x5e5], 0
je case.0x415212.5
mov ecx, dword [esi + 0x324]
push 0xf
call fcn.00401e70
mov ecx, esi
call fcn.0040ff70
mov ecx, dword [0x453308]
cmp byte [ecx + 0x65c], 0
je 0x4160c7
cmp dword [esi + 0x39c], 0x3e8
jl 0x4160c2
mov edx, dword [0x453318]
cmp dword [edx + 0x622f8], 0
jg 0x4160c7
call fcn.0040fa50
or eax, 0xffffffff
mov dword [esi + 0x5c8], eax
mov dword [esi + 0x5cc], eax
mov dword [esi + 0x5d0], eax
mov dword [esi + 0x5d4], eax
mov dword [esi + 0x5d8], eax
xor ebx, ebx
push 0x31
mov ecx, esi
mov dword [esi + 0x5dc], eax
mov dword [esi + 0x94c], eax
mov dword [esi + 0x948], eax
mov dword [esi + 0x594], ebx
mov dword [esi + 0x5b0], ebx
mov dword [esi + 0x954], 3
call fcn.004024c0
push 0x31
mov ecx, esi
call fcn.004024e0
add dword [esi + 0x558], eax
mov eax, dword [0x453304]
mov byte [eax + 0x368], bl
mov ecx, dword [0x453324]
call fcn.00428cf0
lea edi, [ebx + 0x15]
cmp byte [esi + 0x329], bl
je 0x416198
mov ecx, dword [0x453318]
cmp dword [ecx + 0x622f8], ebx
jg 0x4161a1
mov ecx, dword [esi + 0x324]
push 7
mov dword [esi + 0x994], edi
call fcn.00401e70
mov eax, dword [esi + 0x39c]
xor ecx, ecx
cmp eax, 0x186a0
jl 0x41617d
mov ecx, eax
push ecx
call fcn.004281a0
mov edx, dword [esi + 0x988]
mov ecx, dword [0x453304]
push eax
push edx
call fcn.00417d60
jmp 0x4161a1
push ebx
call fcn.004281d0
add esp, 4
cmp byte [esi + 0x3a0], 0
je 0x416244
mov dword [esi + 0x994], 0x13
mov eax, dword [0x453320]
mov eax, dword [eax + 0x18]
cmp eax, 7
jle 0x4161d7
call fcn.0042ede0
cdq
mov ecx, 0x1e
idiv ecx
add edx, 0x46
jmp 0x416215
cmp eax, 4
jle 0x4161ee
call fcn.0042ede0
cdq
mov ecx, 0x1e
idiv ecx
add edx, 0x32
jmp 0x416215
cmp eax, 2
jle 0x416205
call fcn.0042ede0
cdq
mov ecx, 0x19
idiv ecx
add edx, 0x23
jmp 0x416215
call fcn.0042ede0
cdq
mov ecx, 0x19
idiv ecx
add edx, 0xf
movzx eax, byte [esi + 0x3a1]
test al, al
je 0x416226
mov dword [esi + 0x988], edx
mov ecx, dword [0x453304]
push ebx
push edx
push eax
call fcn.00418020
mov byte [esi + 0x3a1], 0
mov byte [esi + 0x3a0], 0
jmp 0x41627b
cmp dword [esi + 0x994], edi
je 0x41627b
mov dword [esi + 0x994], ebx
call fcn.00428180
test eax, eax
jne 0x41627b
call fcn.00428190
test eax, eax
jne 0x41627b
mov edx, dword [0x453318]
cmp dword [edx + 0x622f8], ebx
jg 0x41627b
push ebx
call fcn.00428140
add esp, 4
mov ecx, dword [0x453320]
call fcn.0040e660
xor ebx, ebx
mov byte [esi + 0x5e4], 1
mov byte [esi + 0x5e5], 1
lea edi, [esi + 0x688]
lea ebp, [ebx + 0x25]
nop
mov ecx, dword [edi - 0x14]
lea eax, [ecx - 1]
cmp eax, 0xe
ja case.0x4162af.10
jmp dword [eax*4 + 0x416650]
mov ecx, dword [edi - 0xc]
lea eax, [ebx + 5]
push eax
push ecx
mov ecx, esi
call fcn.00402440
test eax, eax
je case.0x4162af.10
mov dword [edi - 0x14], 2
mov dword [edi - 0x10], 0
mov dword [edi - 0xc], 3
mov ecx, dword [esi + 0x324]
push 2
call fcn.00401dd0
jmp case.0x4162af.10
inc dword [edi - 0x10]
mov eax, dword [edi - 0x10]
mov edx, dword [esi + 0x3b8]
cmp eax, dword [edx + 0x3dc]
jl case.0x4162af.10
dec dword [edi - 0xc]
cmp dword [edi - 0xc], 0
mov dword [edi - 0x10], 0
jg case.0x4162af.10
cmp ecx, 2
jne 0x416335
mov dword [edi - 0x14], 3
mov byte [edi + 0x15], 1
jmp case.0x4162af.10
mov dword [edi - 0x14], 8
cmp dword [esi + 0x944], ebx
jne 0x416358
cmp byte [esi + 0x56c], 0
je 0x416358
mov ecx, dword [0x453304]
call fcn.00418450
mov byte [edi + 0x15], 1
jmp case.0x4162af.10
mov ecx, dword [edi - 0xc]
lea eax, [ebx + 0xa]
push eax
push ecx
mov ecx, esi
call fcn.00402440
test eax, eax
je case.0x4162af.10
mov dword [edi - 0x14], 4
mov dword [edi], 1
mov byte [edi + 0x15], 1
mov ecx, dword [esi + 0x324]
push 3
call fcn.00401dd0
jmp case.0x4162af.10
mov eax, dword [edi]
inc dword [edi - 0x10]
mov ecx, dword [edi - 0x10]
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
add eax, edx
mov edx, dword [esi + eax*4 + 0x3bc]
cmp ecx, dword [edx + 0x3dc]
jl case.0x4162af.10
mov dword [edi - 0x10], 0
mov dword [edi - 0x14], 4
mov dword [edi], 1
jmp case.0x4162af.10
mov eax, dword [edi]
mov edx, dword [edi + 4]
inc dword [edi - 0x10]
mov ecx, dword [edi - 0x10]
lea eax, [eax + eax*4]
add edx, eax
mov eax, dword [esi + edx*4 + 0x3bc]
cmp ecx, dword [eax + 0x3dc]
jl case.0x4162af.10
mov dword [edi - 0x10], 0
jmp case.0x4162af.10
mov edx, dword [edi - 0xc]
lea ecx, [ebx + 0xa]
push ecx
push edx
mov ecx, esi
call fcn.00402440
test eax, eax
je case.0x4162af.10
mov dword [edi - 0x14], 6
jmp case.0x4162af.10
mov eax, dword [edi]
mov edx, dword [edi + 0xc]
inc dword [edi - 0x10]
mov ecx, dword [edi - 0x10]
lea eax, [eax + eax*4]
add edx, eax
mov eax, dword [esi + edx*4 + 0x3bc]
cmp ecx, dword [eax + 0x3dc]
jl case.0x4162af.10
mov dword [edi - 0x10], 0
mov dword [edi - 0xc], 1
cmp byte [esi + 0x941], 0
je 0x41648c
cmp dword [esi + 0x944], ebx
jne 0x41648c
mov dword [edi - 0xc], 0x5f5e0ff
mov ecx, dword [esi + 0x324]
push 4
call fcn.00401e70
mov ecx, dword [esi + 0x324]
push 5
call fcn.00401dd0
mov dword [edi - 0x14], 7
mov dword [edi], 0
jmp case.0x4162af.10
mov eax, dword [edi]
inc dword [edi - 0x10]
mov ecx, dword [edi - 0x10]
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
add eax, edx
mov edx, dword [esi + eax*4 + 0x3bc]
cmp ecx, dword [edx + 0x3dc]
jl case.0x4162af.10
mov dword [edi - 0x10], 0
mov dword [edi - 0x14], 9
mov dword [edi], 1
cmp ebx, dword [esi + 0x560]
jne case.0x4162af.10
mov ecx, dword [esi + 0x324]
push 4
call fcn.00401e70
mov ecx, dword [esi + 0x324]
push 6
call fcn.00401dd0
jmp case.0x4162af.10
mov ecx, dword [edi - 0xc]
lea eax, [ebx + 0xa]
push eax
push ecx
mov ecx, esi
call fcn.00402440
test eax, eax
je case.0x4162af.10
mov dword [edi - 0x14], 0xf
mov dword [edi + 0x10], 0
jmp case.0x4162af.10
add dword [edi + 0x10], 2
cmp dword [edi + 0x10], ebp
jl 0x416528
mov dword [edi + 0x10], ebp
inc dword [edi - 0x10]
mov eax, 0xc
cmp dword [edi - 0x10], eax
jl case.0x4162af.10
mov dword [edi - 0x10], eax
mov dword [edi - 0x14], 0x11
mov dword [edi + 0x10], ebp
cmp dword [edi - 0x14], 4
je 0x41654f
mov byte [esi + 0x5e4], 0
cmp dword [edi - 0x14], 0x11
je 0x41655c
mov byte [esi + 0x5e5], 0
inc ebx
add edi, 0x2c
cmp ebx, 5
jl 0x4162a0
xor eax, eax
mov dword [esi + 0x339], eax
pop edi
mov byte [esi + 0x33d], al
mov byte [esi + 0x328], al
pop esi
pop ebp
pop ebx
add esp, 0x80
ret