Function at 0x413db0
Capabilities:
Check http status code

Disassembly:
sub esp, 0x70
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.004131b0
mov eax, dword [0x455448]
push eax
call fcn.0042ed8a
xor ebx, ebx
add esp, 4
mov ebp, 1
cmp byte [esi + 0x56d], bl
je case.0x413ded.2
mov eax, dword [esi + 0x570]
cmp eax, 0xb
ja case.0x413ded.2
movzx ecx, byte [eax + 0x41652c]
jmp dword [ecx*4 + 0x416518]
movzx edx, byte [esi + 0x56e]
mov ecx, dword [0x452318]
push edx
push 5
call fcn.00424980
mov dword [esi + 0x570], ebp
jmp case.0x413ded.2
mov ecx, dword [0x452318]
call fcn.004249e0
test al, al
jne case.0x413ded.2
mov dword [esi + 0x570], 0xa
jmp case.0x413ded.2
cmp byte [esi + 0x56e], bl
je 0x413e54
mov byte [esi + 0x65c], 1
mov dword [esi + 0x570], 0xb
jmp case.0x413ded.2
mov eax, dword [0x452318]
cmp byte [eax + 0x622d4], bl
je case.0x413ded.2
mov byte [esi + 0x56d], bl
cmp dword [esi + 0x364], 0x26ac
jbe 0x413e87
call fcn.00428100
test eax, eax
jne 0x413e87
call fcn.00428110
test eax, eax
jne 0x413e87
cmp byte [esi + 0x5ac], bl
jne 0x413e87
mov byte [esi + 0x5ac], 1
mov ecx, dword [0x455448]
mov edx, dword [ecx + 4]
mov dword [esi + 0x368], edx
mov eax, dword [0x455448]
mov eax, dword [eax + 8]
mov dword [esi + 0x36c], eax
cmp dword [esi + 0x374], eax
je 0x413f10
mov dword [esi + 0x374], eax
mov byte [esi + 0x5ac], bl
mov dword [esi + 0x364], ebx
mov dword [esi + 0x378], ebx
mov dword [esi + 0x380], ebx
mov eax, dword [0x455448]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
imul ecx, ecx, 0x64
lea ecx, [ecx + edx + 0x2e631]
imul ecx, ecx, 0x64
add ecx, dword [eax + 0xc]
cmp ecx, 0x134db4f
jl 0x413f15
call fcn.0042e980
cdq
mov ecx, 0x8c
idiv ecx
cmp edx, 0xa
jge 0x413f10
mov edx, dword [0x4531fc]
push ebx
push ebx
push 0x10
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [0x455448]
mov ecx, 0x3b
sub ecx, dword [eax]
mov edx, 0x3b
mov dword [esi + 0x5c0], ecx
mov eax, dword [0x455448]
sub edx, dword [eax + 4]
mov ecx, dword [esi + 0x37c]
mov dword [esi + 0x5bc], edx
mov edx, dword [0x455448]
mov edi, 0x64
cmp ecx, dword [edx]
je 0x413ff0
call fcn.004280a0
test al, al
je 0x413fe3
dec dword [esi + 0x380]
cmp dword [esi + 0x380], ebx
jg 0x413fe3
mov ecx, dword [0x455448]
fild dword [esi + 0x334]
mov eax, 0x3c
sub eax, dword [ecx + 4]
mov ebx, edi
fmul dword [0x444814]
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 ebx, edx
mov eax, ecx
cdq
idiv ebx
mov edx, 0x24
sub edx, eax
mov dword [esp + 0x20], edx
fimul dword [esp + 0x20]
mov dword [esp + 0x1c], eax
fiadd dword [esp + 0x1c]
call fcn.0042d150
add dword [esi + 0x378], ebp
cmp dword [esi + 0x378], edi
mov dword [esi + 0x380], eax
jle 0x413fe3
mov dword [esi + 0x378], edi
mov eax, dword [0x455448]
mov ecx, dword [eax]
mov dword [esi + 0x37c], ecx
push 0x31
mov byte [esp + 0x16], 0
mov byte [esp + 0x1b], 0
mov byte [esp + 0x17], 0
mov byte [esp + 0x18], 0
mov byte [esp + 0x19], 0
mov byte [esp + 0x1a], 0
call fcn.00428340
push 0x32
mov edi, eax
call fcn.00428340
push 0x33
mov ebp, eax
call fcn.00428340
push 0x34
mov ebx, eax
call fcn.00428340
push 0x35
mov dword [esp + 0x34], eax
call fcn.00428340
push 0x36
mov dword [esp + 0x34], eax
call fcn.00428340
push 0x37
mov dword [esp + 0x34], eax
call fcn.00428340
push 0x38
mov dword [esp + 0x44], eax
call fcn.00428340
push 0x39
mov dword [esp + 0x4c], eax
call fcn.00428340
add esp, 0x24
mov dword [esp + 0x2c], eax
cmp edi, 1
jne 0x414092
cmp dword [0x4557bc], 0
jne 0x414085
mov byte [esi + 0x339], 1
jmp 0x4140b0
mov ecx, dword [0x452300]
call fcn.00422cd0
jmp 0x4140b0
cmp edi, 3
jne 0x4140b0
mov edx, dword [0x452308]
mov byte [edx + 0x339], 0
mov eax, dword [0x452318]
mov byte [eax + 0x330], 0
cmp ebp, 1
jne 0x4140da
cmp dword [0x4557bc], 0
jne 0x4140cd
mov ecx, dword [0x452308]
mov byte [ecx + 0x33a], 1
jmp 0x4140f3
mov ecx, dword [0x452300]
call fcn.00422d40
jmp 0x4140f3
cmp ebp, 3
jne 0x4140f3
mov byte [esi + 0x33a], 0
mov edx, dword [0x452318]
mov byte [edx + 0x331], 0
cmp ebx, 1
jne 0x41414d
cmp dword [0x4557bc], 0
jne 0x414140
mov ecx, dword [0x452318]
cmp byte [ecx + 0x335], 0
jne 0x414131
push ebx
call fcn.00402410
mov eax, dword [0x452318]
mov byte [eax + 0x335], bl
mov ecx, dword [0x452318]
mov dword [ecx + 0x338], 0
mov edx, dword [0x452308]
mov byte [edx + 0x33b], 1
jmp 0x41416b
mov ecx, dword [0x452300]
call fcn.00422ea0
jmp 0x41416b
cmp ebx, 3
jne 0x41416b
mov eax, dword [0x452308]
mov byte [eax + 0x33b], 0
mov ecx, dword [0x452318]
mov byte [ecx + 0x332], 0
mov eax, dword [esp + 0x20]
cmp eax, 1
jne 0x4141a2
cmp dword [0x4557bc], 0
jle 0x41418b
mov edx, dword [0x452318]
mov byte [edx + 0x333], al
jmp 0x4141bb
cmp byte [0x4557aa], 0
jne 0x4141bb
mov eax, dword [0x452308]
mov byte [eax + 0x33c], 1
jmp 0x4141bb
cmp eax, 3
jne 0x4141bb
mov byte [esi + 0x33c], 0
mov ecx, dword [0x452318]
mov byte [ecx + 0x333], 0
mov eax, dword [esp + 0x1c]
cmp eax, 1
jne 0x4141f2
cmp dword [0x4557bc], 0
jle 0x4141db
mov edx, dword [0x452318]
mov byte [edx + 0x334], al
jmp 0x41420b
cmp byte [0x4557aa], 0
jne 0x41420b
mov eax, dword [0x452308]
mov byte [eax + 0x33d], 1
jmp 0x41420b
cmp eax, 3
jne 0x41420b
mov byte [esi + 0x33d], 0
mov ecx, dword [0x452318]
mov byte [ecx + 0x334], 0
mov eax, dword [esp + 0x18]
cmp eax, 1
je 0x414234
cmp byte [esi + 0x328], 0
jne 0x414234
cmp byte [esi + 0x394], 0
jne 0x414234
cmp eax, 3
jne 0x414244
mov byte [esi + 0x328], 0
jmp 0x414244
cmp byte [0x4557aa], 0
jne 0x414244
mov byte [esi + 0x328], 1
cmp dword [esp + 0x24], 1
jne 0x414266
mov ecx, dword [0x452300]
cmp byte [ecx + 0x365], 0
jne 0x414261
call fcn.00422490
jmp 0x414266
call fcn.00422540
mov ebp, 1
cmp dword [esp + 0x28], ebp
jne 0x41428c
mov ecx, dword [0x452300]
cmp byte [ecx + 0x365], 0
jne 0x414287
call fcn.004224f0
jmp 0x41428c
call fcn.00422540
cmp dword [esp + 0x2c], ebp
jne 0x4142ad
mov ecx, dword [0x452300]
cmp byte [ecx + 0x365], 0
jne 0x4142a8
call fcn.00422440
jmp 0x4142ad
call fcn.00422540
cmp byte [esi + 0x328], 0
je 0x4142c4
call fcn.004280a0
test al, al
je 0x4142c4
mov byte [esp + 0x12], 1
cmp byte [esi + 0x339], 0
mov bl, 1
jne 0x4142d3
mov bl, byte [esp + 0x17]
cmp byte [esi + 0x33a], 0
je 0x4142e1
mov byte [esp + 0x13], 1
cmp byte [esi + 0x33b], 0
je 0x4142ef
mov byte [esp + 0x14], 1
cmp byte [esi + 0x33c], 0
je 0x4142fd
mov byte [esp + 0x15], 1
cmp byte [esi + 0x33d], 0
je 0x41430b
mov byte [esp + 0x16], 1
mov eax, dword [esi + 0x5e0]
sub eax, ebp
jne 0x41439c
cmp byte [esp + 0x12], al
je 0x41439c
call fcn.00428100
cmp eax, 0x64
jge 0x414344
call fcn.004280f0
cmp eax, 0x64
jge 0x414344
mov ecx, dword [0x452318]
cmp dword [ecx + 0x622f8], 0
jle 0x4143a2
jmp 0x41434a
mov ecx, dword [0x452318]
mov edi, dword [0x452304]
cmp byte [edi + 0x328], 0
jne 0x4143a8
cmp byte [edi + 0x329], 0
jne 0x4143a8
cmp byte [edi + 0x32a], 0
jne 0x4143a8
cmp byte [edi + 0x4cc], 0
jne 0x4143a8
cmp byte [esi + 0x56d], 0
jne 0x4143a8
cmp byte [edi + 0x510], 0
jne 0x4143a8
mov dword [esi + 0x5e0], 0
mov dword [esi + 0x994], ebp
mov dword [esi + 0x954], ebp
mov ecx, dword [0x452318]
mov edi, dword [0x452304]
mov eax, dword [esi + 0x994]
dec eax
mov edx, 2
lea ebp, [edx + 0xa]
cmp eax, 0x14
ja case.0x4151a2.5
jmp dword [eax*4 + 0x416538]
mov ecx, dword [0x452320]
xor edi, edi
mov dword [0x45544c], edi
call fcn.0040e680
mov ecx, dword [esi + 0x324]
push 0xf
call fcn.00401dd0
mov edx, dword [0x452308]
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 + 0x18], 0
jle 0x414444
mov byte [esp + 0x18], 1
mov ecx, esi
call fcn.00402520
call fcn.00428160
mov dword [esp + 0x1c], eax
cmp eax, 0xc8
jne 0x41447a
call fcn.00428100
cmp eax, 0x64
jg 0x4144ac
cmp byte [esi + 0x329], 0
jne 0x4144ac
mov dword [esp + 0x1c], 0x64
push 0x64
jmp 0x4144a1
cmp dword [0x455790], 0x7d0
jl 0x4144ac
cmp eax, 0x64
jne 0x4144ac
cmp byte [esi + 0x329], 0
jne 0x4144ac
mov dword [esp + 0x1c], 0xc8
push 0xc8
mov ecx, dword [0x452318]
call fcn.00424900
mov ecx, dword [0x452314]
xor ebp, ebp
push ebp
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
call fcn.0040bf10
mov ecx, dword [0x452318]
cmp dword [ecx + 0x622f8], ebp
jle 0x4146fb
call fcn.004247d0
mov eax, dword [0x452320]
cmp dword [eax + 0x18], ebp
jle 0x4144f9
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0xa
jl 0x41450b
call fcn.0042e980
cdq
mov ecx, 0x12c
idiv ecx
cmp edx, 3
jge 0x41451e
mov ecx, dword [0x452304]
call fcn.00418a70
test eax, eax
jne 0x41454d
push 0x63
jmp 0x414542
mov ecx, dword [0x452304]
call fcn.00418a70
cmp eax, 0x64
jne 0x41454d
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0xa
jge 0x41454d
push 1
mov ecx, dword [0x452304]
call fcn.00418a30
cmp byte [esi + 0x65c], 0
jne 0x4145dd
mov ecx, dword [0x452318]
cmp dword [ecx + 0x622dc], 3
jne 0x414570
push 1
call fcn.00426090
mov edx, dword [esp + 0x18]
mov ecx, dword [0x452320]
push edx
lea eax, [esp + 0x44]
push eax
call fcn.0040ebb0
mov ecx, dword [eax + 8]
mov ebp, dword [eax + 0xc]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov ecx, dword [esi + 0x324]
push 8
mov dword [esp + 0x40], ebp
call fcn.00401d90
test eax, eax
je 0x4145b6
mov ecx, dword [esi + 0x324]
push 8
call fcn.00401e70
mov ecx, dword [esi + 0x324]
push 7
call fcn.00401d90
test eax, eax
jne 0x4148de
mov ecx, dword [esi + 0x324]
push 7
call fcn.00401e20
jmp 0x4148de
mov ecx, dword [esi + 0x324]
push 7
call fcn.00401d90
test eax, eax
je 0x4145fb
mov ecx, dword [esi + 0x324]
push 7
call fcn.00401e70
mov ecx, dword [esi + 0x324]
push 8
call fcn.00401d90
test eax, eax
jne 0x414619
mov ecx, dword [esi + 0x324]
push 8
call fcn.00401e20
mov edx, dword [0x452318]
mov ecx, dword [edx + 0x622f8]
test ecx, ecx
jle 0x41468d
mov eax, dword [esi + 0x39c]
cdq
idiv ecx
cmp eax, 0xc350
jl 0x414652
call fcn.0042e980
mov ebp, eax
and ebp, 0x80000001
jns 0x41464d
dec ebp
or ebp, 0xfffffffe
inc ebp
add ebp, 0x10
jmp 0x41469f
cmp eax, 0x3a98
jl 0x414672
call fcn.0042e980
mov ebp, eax
and ebp, 0x80000003
jns 0x41466d
dec ebp
or ebp, 0xfffffffc
inc ebp
add ebp, 0xe
jmp 0x41469f
cmp eax, 0x1f40
jl 0x41468d
call fcn.0042e980
cdq
mov ecx, 7
idiv ecx
mov ebp, edx
add ebp, 0xb
jmp 0x41469f
call fcn.0042e980
cdq
mov ecx, 5
idiv ecx
mov ebp, edx
add ebp, 9
mov eax, 0x51eb851f
imul dword [esp + 0x1c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, dword [ebp*8 + 0x450950]
cmp dword [esi + 0x39c], eax
jge 0x4146c7
mov ebp, 9
mov ecx, dword [0x452318]
cmp dword [ecx + 0x622c8], 0x2b
je 0x4146df
push 1
push 8
call fcn.00424980
mov ecx, dword [ebp*8 + 0x450950]
sub dword [esi + 0x39c], ecx
mov dword [esi + 0x594], ebp
mov ebp, dword [esp + 0x3c]
jmp 0x4148de
call fcn.00428100
cmp eax, 0x64
jl 0x414872
mov edx, dword [esp + 0x1c]
push edx
call fcn.004282b0
add esp, 4
mov dword [esp + 0x20], ebp
call fcn.00428160
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x4148de
lea ebx, [ebx]
cmp dword [esi + 0x5a4], 0
jle 0x41481e
dec dword [esi + 0x5a8]
call fcn.00428100
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 0x414780
cmp dword [esi + 0x5a8], 0
jg 0x414842
call fcn.0042e980
cdq
mov ecx, 3
idiv ecx
mov edi, dword [esi + 0x5a4]
mov dword [esi + 0x5a8], edx
call fcn.00428100
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jl 0x4147bf
mov dword [esi + 0x5a8], 0
mov eax, dword [esi + 0x96c]
dec edi
mov dword [esi + 0x5a4], edi
test eax, eax
jle 0x4147de
cmp byte [esp + 0x18], 0
jne 0x4147de
dec eax
mov dword [esi + 0x96c], eax
call fcn.004281f0
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [0x452320]
lea edx, [esp + 0x54]
push edx
call fcn.0040ecc0
mov edi, dword [eax]
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov ebp, dword [eax + 0xc]
mov dword [esp + 0x38], ecx
test edi, edi
jg 0x4148da
cmp dword [esi + 0x5a4], 0
jle 0x4148da
jmp 0x414842
mov edx, dword [esp + 0x18]
mov ecx, dword [0x452320]
push edx
lea eax, [esp + 0x64]
push eax
call fcn.0040ebb0
mov ecx, dword [eax + 8]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov ebp, dword [eax + 0xc]
mov dword [esp + 0x38], ecx
test edi, edi
jg 0x4148da
inc dword [esp + 0x20]
call fcn.00428160
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x20], eax
jl 0x414740
jmp 0x4148da
call fcn.004280f0
cmp eax, 0x64
jl case.0x4151a2.5
mov eax, dword [esp + 0x1c]
dec dword [esi + 0x378]
add dword [esi + 0x364], eax
push eax
call fcn.004282d0
add esp, 4
call fcn.004281f0
mov eax, dword [esi + 0x96c]
test eax, eax
jle 0x4148b6
cmp byte [esp + 0x18], 0
jne 0x4148b6
dec eax
mov dword [esi + 0x96c], eax
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [0x452320]
lea edx, [esp + 0x74]
push edx
call fcn.0040ecc0
mov ecx, dword [eax + 8]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov ebp, dword [eax + 0xc]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ebp
mov ecx, dword [0x452318]
push 1
call fcn.00424960
mov eax, dword [esi + 0x654]
mov dword [esi + 0x3a8], 1
mov byte [esi + 0x9a0], 0
test eax, eax
jle 0x41496a
dec eax
mov dword [esi + 0x654], eax
test eax, eax
jg 0x41496a
mov dword [esi + 0x654], 0
call fcn.0042e980
cdq
mov ecx, 0x19
idiv ecx
lea eax, [edx + 5]
cmp eax, 0x14
mov dword [esi + 0x648], eax
jg 0x414954
call fcn.00428160
cmp eax, 0xc8
jne 0x41496a
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x41
jge 0x41496a
call fcn.0042e980
cdq
mov ecx, 0xa
idiv ecx
add edx, 5
mov dword [esi + 0x5a0], edx
dec dword [esi + 0x5a0]
cmp dword [esi + 0x5a0], 0
jg 0x414991
call fcn.0042e980
cdq
mov ecx, 0x1f4
idiv ecx
add edx, 0xa
mov dword [esi + 0x5a0], edx
jmp 0x41499c
mov ecx, dword [0x452318]
call fcn.004262d0
cmp dword [esp + 0x38], 0
jle 0x414b4d
test edi, edi
jle 0x414b4d
push 0xffffffffffffffff
push 1
push edi
mov ecx, esi
call fcn.00410230
mov dword [esi + 0x390], eax
cmp eax, 0xffffffff
jne 0x4149cf
cmp edi, 1
jne 0x414b4d
mov byte [esi + 0x395], 0
cmp edi, 0x493e0
jne 0x414a14
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x40
jne 0x414a14
call fcn.0042e980
mov edi, eax
and edi, 0x80000001
jns 0x414a04
dec edi
or edi, 0xfffffffe
inc edi
neg edi
sbb edi, edi
and edi, 0xfffcf2c0
add edi, 0x927c0
mov al, byte [esi + 0x329]
test al, al
je 0x414aba
cmp byte [esi + 0x65c], 0
jne 0x414a5e
cmp dword [esi + 0x39c], 0x186a0
jle 0x414a5e
test edi, edi
jne 0x414a5e
mov edx, dword [0x452318]
cmp dword [edx + 0x622f8], 5
jl 0x414a5e
mov byte [esi + 0x56d], 1
mov byte [esi + 0x56e], 1
mov dword [esi + 0x570], edi
test al, al
je 0x414aba
cmp byte [esi + 0x56d], 0
jne 0x414aba
cmp edi, 0x11170
jl 0x414aba
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x23
jg 0x414aba
mov edx, dword [0x452318]
cmp dword [edx + 0x622f8], 0xa
jl 0x414aba
imul ebx, edi
add dword [esi + 0x39c], ebx
mov byte [esi + 0x56d], 1
mov byte [esi + 0x56e], 1
mov dword [esi + 0x570], 0
jmp 0x414b4d
mov eax, dword [esp + 0x1c]
cmp eax, 0x64
jne 0x414cb1
cmp byte [esi + 0x329], 0
jne 0x414b3c
cmp edi, 0x9c40
jl 0x414b3c
mov eax, dword [0x452320]
mov ebp, dword [eax + 0x14d0]
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, ebp
jge 0x414b38
mov eax, ebx
imul eax, edi
add dword [esi + 0x39c], eax
mov byte [esi + 0x396], 1
mov dword [esi + 0x398], eax
call fcn.0042e980
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.00410230
mov dword [esi + 0x390], eax
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push ebp
push 1
push ebx
push edi
push eax
mov ecx, esi
call fcn.004100a0
cmp dword [esi + 0x378], 1
mov ebp, 3
jg 0x414b79
call fcn.00428100
cmp eax, 0x320
jl 0x414bba
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x46
jge 0x414bba
mov ebp, 1
call fcn.00428160
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 0x414bba
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x19
jge 0x414bba
lea ebp, [ecx - 0x62]
xor ebx, ebx
call fcn.00428100
test eax, eax
jne 0x414d42
cmp byte [esi + 0x329], al
jne 0x414c2f
cmp dword [esi + 0x378], eax
jle 0x414c20
cmp byte [esi + 0x396], al
je 0x414c0b
call fcn.00428100
cmp eax, 0x7d0
jge 0x414c0b
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x50
jg 0x414c0b
call fcn.00428160
cmp eax, 0xc8
je 0x414c20
call fcn.00428160
cmp eax, 0xc8
jne 0x414c2f
cmp dword [esi + 0x574], 0x14
jl 0x414c2f
mov ebx, 1
mov byte [esi + 0x9a0], 1
lea ebp, [ebx + 3]
mov eax, dword [esi + 0x5bc]
cmp eax, 0x3a
jle 0x414c4f
cmp dword [esi + 0x364], 0x26ac
jae 0x414c68
cmp byte [esi + 0x5ac], 0
jne 0x414c68
test eax, eax
jl 0x414c76
cmp dword [esi + 0x364], 0x26ac
jae 0x414c68
cmp byte [esi + 0x5ac], 0
je 0x414c76
mov ebp, 4
lea ebx, [ebp - 3]
mov byte [esi + 0x9a0], bl
cmp byte [esi + 0x9a0], 0
je 0x414d42
call fcn.0042e980
cdq
mov ecx, 3
idiv ecx
test edx, edx
jl 0x414d3d
cmp edx, 1
jle 0x414d3b
cmp edx, 2
jne 0x414d3d
mov ebx, edx
jmp 0x414d3d
cmp eax, 0xc8
jne 0x414b3c
call fcn.00428100
cmp eax, 0x7d0
jle 0x414b3c
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.00410230
mov dword [esi + 0x390], eax
call fcn.00428100
cmp eax, 0x2710
jle 0x414d34
cmp byte [esi + 0x329], 0
jne 0x414d34
call fcn.00428100
cmp eax, 0x7530
jg 0x414d1b
lea ebp, [ebx + 1]
jmp 0x414b3c
call fcn.00428100
xor edx, edx
cmp eax, 0xc350
setg dl
add edx, 3
mov ebp, edx
jmp 0x414b3c
mov ebp, ebx
jmp 0x414b3c
mov ebx, ecx
mov ebp, 1
call fcn.00428100
cmp eax, 0x7d0
jl 0x414d68
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
xor ebx, ebx
lea ebp, [ecx - 0x63]
cmp edx, 0x5f
jle 0x414d68
lea ebp, [ecx - 0x61]
xor edi, edi
call fcn.0042e980
cdq
idiv ebp
lea eax, [edx + ebx - 1]
cmp eax, 5
ja case.default.0x414d7b
jmp dword [eax*4 + 0x41658c]
mov dword [esi + 0x574], 0
mov edi, 1
jmp 0x414e1f
mov dword [esi + 0x574], 0
mov edi, 2
jmp 0x414e1f
mov dword [esi + 0x574], 0
jmp 0x414e0e
mov dword [esi + 0x574], 0
call fcn.0042e980
cdq
mov ecx, 3
idiv ecx
mov edi, edx
add edi, 6
jmp 0x414e1f
mov dword [esi + 0x574], 0
mov edi, 9
jmp 0x414e1f
mov dword [esi + 0x574], 0
mov edi, 0xa
jmp 0x414e1f
cmp byte [esi + 0x329], 0
je 0x414e1f
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x19
jg 0x414e1f
call fcn.0042e980
cdq
mov ecx, 3
idiv ecx
mov edi, edx
add edi, ecx
xor ebx, ebx
push ebx
push ebx
push edi
mov ecx, esi
call fcn.00411280
test al, al
je 0x414e21
push ebx
mov ecx, esi
call fcn.00410450
dec dword [esi + 0x58c]
cmp dword [esi + 0x998], ebx
jle 0x414e6f
mov edx, dword [esi + 0x99c]
mov ecx, dword [0x452318]
push edx
call fcn.00424960
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 0x414f4c
cmp dword [esi + 0x390], ebx
mov dword [esi + 0x59c], ebx
mov byte [esi + 0x990], 1
jl 0x414f29
cmp byte [esi + 0x395], 0
je 0x414ed0
mov byte [esi + 0x395], 0
call fcn.00428160
cmp eax, 0x64
jne 0x414ed0
mov eax, dword [esi + 0x390]
lea ecx, [eax + eax*2]
mov eax, dword [ecx*4 + 0x453208]
push 0xffffffffffffffff
push 1
push eax
mov ecx, esi
call fcn.00410230
mov dword [esi + 0x390], eax
mov eax, dword [esi + 0x390]
lea eax, [eax + eax*2]
add eax, eax
mov edx, dword [eax + eax + 0x45320c]
add eax, eax
mov dword [esi + 0x594], edx
mov eax, dword [eax + 0x453210]
mov ecx, dword [0x452318]
push eax
call fcn.00424960
cmp dword [esi + 0x594], 0xc
jl 0x414f18
mov eax, dword [esi + 0x390]
lea ecx, [eax + eax*2]
cmp dword [ecx*4 + 0x453210], 0xf
jge 0x414f24
mov edx, dword [0x452320]
cmp dword [edx + 0x18], 4
jl 0x414f29
call fcn.0042e980
cmp dword [esi + 0x594], 0xe
jne 0x414f4c
call fcn.0042e980
and eax, 0x80000001
jns 0x414f43
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0xe
mov dword [esi + 0x594], eax
cmp dword [esi + 0x594], ebx
jle 0x414f89
jmp 0x414f60
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.00411280
test al, al
je 0x414f60
mov byte [esi + 0x598], 0
push ebx
mov ecx, esi
call fcn.0040fef0
mov dword [esi + 0x994], 2
mov dword [esi + 0x954], 1
jmp case.0x4151a2.5
cmp byte [esi + 0x5e4], 0
je case.0x4151a2.5
mov ecx, esi
mov dword [esi + 0x994], 3
mov dword [esi + 0x5dc], 0
call fcn.00412800
jmp case.0x4151a2.5
test bl, bl
je 0x415019
mov ecx, dword [esi + 0x324]
push 1
mov byte [esi + 0x65d], 1
call fcn.00401d50
test eax, eax
jne 0x415000
mov ecx, dword [esi + 0x324]
push 1
call fcn.00401dd0
cmp byte [esi + 0x69d], 0
je 0x415019
cmp byte [esi + 0x69c], 0
sete al
mov byte [esi + 0x69c], al
cmp byte [esp + 0x13], 0
je 0x41505e
mov ecx, dword [esi + 0x324]
push 1
mov byte [esi + 0x65d], 1
call fcn.00401d50
test eax, eax
jne 0x415045
mov ecx, dword [esi + 0x324]
push 1
call fcn.00401dd0
cmp byte [esi + 0x6c9], 0
je 0x41505e
cmp byte [esi + 0x6c8], 0
sete cl
mov byte [esi + 0x6c8], cl
cmp byte [esp + 0x14], 0
je 0x4150a3
mov ecx, dword [esi + 0x324]
push 1
mov byte [esi + 0x65d], 1
call fcn.00401d50
test eax, eax
jne 0x41508a
mov ecx, dword [esi + 0x324]
push 1
call fcn.00401dd0
cmp byte [esi + 0x6f5], 0
je 0x4150a3
cmp byte [esi + 0x6f4], 0
sete dl
mov byte [esi + 0x6f4], dl
cmp byte [esp + 0x15], 0
je 0x4150e8
mov ecx, dword [esi + 0x324]
push 1
mov byte [esi + 0x65d], 1
call fcn.00401d50
test eax, eax
jne 0x4150cf
mov ecx, dword [esi + 0x324]
push 1
call fcn.00401dd0
cmp byte [esi + 0x721], 0
je 0x4150e8
cmp byte [esi + 0x720], 0
sete al
mov byte [esi + 0x720], al
cmp byte [esp + 0x16], 0
je 0x41512d
mov ecx, dword [esi + 0x324]
push 1
mov byte [esi + 0x65d], 1
call fcn.00401d50
test eax, eax
jne 0x415114
mov ecx, dword [esi + 0x324]
push 1
call fcn.00401dd0
cmp byte [esi + 0x74d], 0
je 0x41512d
cmp byte [esi + 0x74c], 0
sete cl
mov byte [esi + 0x74c], cl
cmp byte [esp + 0x12], 0
je case.0x4151a2.5
push 2
mov ecx, esi
call fcn.00402410
push 0
push 0xffffffffffffffff
mov ecx, esi
call fcn.00412db0
cmp byte [esi + 0x941], 0
jne 0x415164
mov dword [esi + 0x994], 4
jmp case.0x4151a2.5
mov dword [esi + 0x994], 5
mov dword [esi + 0x564], 1
call fcn.0042e980
cdq
mov ecx, 3
idiv ecx
add edx, ecx
mov dword [esi + 0x568], edx
jmp case.0x4151a2.5
mov eax, dword [esi + 0x564]
dec eax
cmp eax, 0xe
ja case.0x4151a2.5
jmp dword [eax*4 + 0x4165a4]
push 3
push 0x3e8
mov ecx, esi
call fcn.00402440
test eax, eax
je case.0x4151a2.5
dec dword [esi + 0x568]
cmp dword [esi + 0x568], 0
jg case.0x4151a2.5
cmp byte [esi + 0x329], 0
mov ecx, dword [0x452318]
je 0x4151ff
movzx edx, byte [esi + 0x56c]
push edx
push 6
call fcn.00424980
mov dword [esi + 0x564], 0xa
jmp case.0x4151a2.5
push 1
push 1
push 0
call fcn.00424660
mov ecx, dword [0x452318]
push 1
push 1
push 1
call fcn.00424660
mov dword [esi + 0x564], 2
jmp case.0x4151a2.5
push 0
call fcn.00424580
cmp eax, 0x11
je 0x415248
mov ecx, dword [0x452318]
push 1
call fcn.00424580
cmp eax, 0x11
jne 0x415275
mov ecx, dword [0x452318]
push 0
push 1
push 0xffffffffffffffff
call fcn.004246c0
cmp byte [esi + 0x56c], 0
mov ecx, dword [0x452318]
push 1
je 0x41526e
push 1
jmp 0x415270
push 2
call fcn.00426110
mov ecx, dword [0x452318]
cmp byte [ecx + 0x62284], 0
je case.0x4151a2.5
cmp byte [ecx + 0x62298], 0
je case.0x4151a2.5
push 0
call fcn.004245b0
mov ecx, dword [0x452318]
push 1
call fcn.004245b0
mov dword [esi + 0x564], 3
jmp case.0x4151a2.5
cmp byte [ecx + 0x622d4], 0
je case.0x4151a2.5
cmp byte [esi + 0x56c], 0
jne 0x415302
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x28
jle 0x4152fc
mov dword [esi + 0x564], 0xe
mov ecx, dword [0x452318]
push 0
call fcn.00426090
jmp case.0x4151a2.5
mov ecx, dword [0x452318]
push 0
push 1
push 6
call fcn.004246c0
mov dword [esi + 0x564], 4
jmp case.0x4151a2.5
cmp byte [ecx + 0x622c0], 0
je case.0x4151a2.5
cmp byte [esi + 0x56c], 0
mov edi, 0x23
je 0x41533c
mov edi, 0x46
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, edi
jge 0x41537e
push 0
call fcn.0042e980
and eax, 0x80000001
jns 0x415360
dec eax
or eax, 0xfffffffe
inc eax
inc eax
push eax
call fcn.0042e980
cdq
mov ecx, 5
idiv ecx
mov ecx, dword [0x452318]
add edx, 8
push edx
call fcn.004246c0
mov dword [esi + 0x564], 6
jmp case.0x4151a2.5
cmp byte [ecx + 0x622c0], 0
je case.0x4151a2.5
push 0
push 1
push 6
call fcn.004246c0
cmp byte [esi + 0x56c], 0
jne 0x4153dc
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x23
jle 0x4153dc
mov ecx, dword [0x452318]
push 0
call fcn.00426090
mov dword [esi + 0x564], 0xe
jmp case.0x4151a2.5
mov dword [esi + 0x564], 7
jmp case.0x4151a2.5
cmp byte [ecx + 0x622c0], 0
je case.0x4151a2.5
push 1
push 4
call fcn.00426110
mov dword [esi + 0x564], 8
jmp case.0x4151a2.5
cmp byte [ecx + 0x622d4], 0
je case.0x4151a2.5
push 0
push 1
push 0x10
call fcn.004246c0
mov dword [esi + 0x564], 9
jmp case.0x4151a2.5
cmp byte [ecx + 0x622c0], 0
je case.0x4151a2.5
mov eax, dword [esi + 0x390]
lea eax, [eax + eax*2]
xor edi, edi
cmp dword [eax*4 + 0x453210], 3
jle 0x41547a
cmp dword [esi + 0x39c], 0x7530
mov edi, 0x2c
jl 0x41546f
mov edi, 0x2e
mov ecx, dword [0x452320]
cmp dword [ecx + 0x18], edx
jmp 0x415493
cmp dword [esi + 0x39c], 0x7530
jl 0x41548b
mov edi, 0x2e
mov eax, dword [0x452320]
cmp dword [eax + 0x18], edx
jle 0x41549a
mov edi, 0x2d
cmp byte [esi + 0x56c], 0
je 0x4154e1
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x14
jge 0x4154e1
test edi, edi
jle 0x4154e1
mov ecx, dword [0x452318]
push 0
push 1
push edi
call fcn.004246c0
push 4
mov ecx, esi
mov dword [esi + 0x564], 0xb
call fcn.00402410
jmp case.0x4151a2.5
xor edi, edi
cmp byte [esi + 0x56c], 0
je 0x415503
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0xa
jge 0x415503
lea edi, [ecx - 0x63]
jmp 0x415527
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x32
jge 0x415527
call fcn.0042e980
cdq
mov ecx, 3
idiv ecx
mov edi, edx
add edi, 2
movzx edx, byte [esi + 0x56c]
mov ecx, dword [0x452318]
push edx
push edi
call fcn.00424980
push 4
mov ecx, esi
mov dword [esi + 0x564], 0xa
call fcn.00402410
jmp case.0x4151a2.5
call fcn.004249e0
test al, al
je 0x415572
push 4
push 0x7530
mov ecx, esi
call fcn.00402440
test eax, eax
je case.0x4151a2.5
mov ecx, dword [0x452318]
push 1
push 6
call fcn.00426110
mov dword [esi + 0x564], 0xe
jmp case.0x4151a2.5
cmp byte [ecx + 0x622c0], 0
jne 0x4155b5
push 4
push 0x7530
mov ecx, esi
call fcn.00402440
test eax, eax
je case.0x4151a2.5
mov ecx, dword [0x452318]
push 1
call fcn.00426090
mov dword [esi + 0x564], 0xe
jmp case.0x4151a2.5
mov eax, dword [esi + 0x944]
imul eax, eax, 0x2c
mov dword [eax + esi + 0x67c], 3
mov dword [esi + 0x564], 0xf
jmp case.0x4151a2.5
mov dword [esi + 0x564], 0
mov dword [esi + 0x994], 4
jmp case.0x4151a2.5
cmp byte [esi + 0x5e4], 0
je case.0x4151a2.5
push 0
lea ecx, [esp + 0x34]
push ecx
mov ecx, esi
call fcn.0040fab0
mov eax, dword [esp + 0x30]
cmp eax, 0xb
mov ecx, dword [esi + 0x324]
mov dword [esi + 0x55c], eax
mov byte [esi + 0x664], 0
jl 0x415696
push 4
call fcn.00401e70
call fcn.00428160
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 + 0x450950]
push 7
mov dword [0x45544c], eax
call fcn.00428080
mov ecx, dword [esi + 0x324]
add esp, 4
push 9
mov dword [esi + 0x994], 6
call fcn.00401dd0
jmp case.0x4151a2.5
push 5
call fcn.00401d50
test eax, eax
je case.0x4143c0.11
mov ecx, dword [esi + 0x324]
push 5
call fcn.00401e70
mov dword [esi + 0x994], 0xe
jmp case.0x4151a2.5
cmp dword [esi + 0x950], 3
jne case.0x4151a2.5
mov ebx, dword [ecx + 0x622e8]
mov dword [esi + 0x3a8], 0xffffffff
mov dword [esi + 0x3a4], 0
call fcn.00428160
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 + 0x450950]
cmp byte [esi + 0x329], 0
jne 0x4157e0
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [0x452318]
cmp edx, 0x46
jg 0x415742
cmp dword [eax + 0x622e8], 0x14
jl 0x415742
cmp dword [esi + 0x55c], 0xb
jg 0x415785
mov edx, ebp
imul edx, ebx
cmp edx, 0x493e0
jl 0x415758
cmp dword [eax + 0x622e8], 0x14
jge 0x415785
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 3
jge 0x4158ce
cmp dword [esi + 0x55c], 0xb
jne 0x415785
call fcn.00428160
cmp eax, 0x64
je 0x4158ce
mov byte [esi + 0x3a3], 1
call fcn.0042e980
cdq
mov ecx, 0xc
idiv ecx
add edx, 8
mov dword [esi + 0x3a4], edx
mov edx, dword [0x452318]
mov eax, dword [edx + 0x622e8]
cmp eax, 0x14
jl 0x4158ce
mov dword [esi + 0x3a8], eax
call fcn.0042e980
cdq
mov ecx, 0xc
idiv ecx
mov ecx, dword [0x452318]
mov ebx, edx
add ebx, 4
push ebx
call fcn.00424960
jmp 0x4158ce
mov edi, ebp
imul edi, ebx
cmp edi, 0x55730
mov dword [esp + 0x18], 8
jl 0x4157ff
mov dword [esp + 0x18], 0x64
jmp 0x415857
cmp edi, 0x3d090
jl 0x415811
mov dword [esp + 0x18], 0x55
jmp 0x415857
cmp edi, 0x30d40
jl 0x415823
mov dword [esp + 0x18], 0x41
jmp 0x415857
cmp edi, 0x29810
jl 0x415835
mov dword [esp + 0x18], 0x2d
jmp 0x415857
cmp edi, 0x1d4c0
jl 0x415847
mov dword [esp + 0x18], 0x1e
jmp 0x415857
cmp edi, 0x19a28
jl 0x415857
mov dword [esp + 0x18], 0x14
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, dword [esp + 0x18]
jge 0x4158ce
cmp byte [esi + 0x65c], 0
jne 0x4158ce
mov byte [esi + 0x3a3], 1
call fcn.0042e980
cdq
mov ecx, 0xc
idiv ecx
add edx, 8
cmp edi, 0x186a0
mov dword [esi + 0x3a4], edx
jle 0x4158ce
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 0x4158ce
sub edi, eax
add dword [esi + 0x39c], edi
cmp dword [esi + 0x55c], 0xb
jl case.0x4143c0.11
push 0
push 0x384
push ebp
mov dword [esi + 0x970], 0
mov ecx, dword [0x452324]
push 0
call fcn.00428c10
cmp byte [esi + 0x329], 0
jne 0x41595d
mov byte [esi + 0x3a0], 1
mov eax, dword [0x452320]
cmp dword [eax + 0x18], 0
jg 0x415927
call fcn.0042e980
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 7
jge 0x415939
cmp byte [esi + 0x396], 0
jne 0x415939
mov byte [esi + 0x3a1], 1
jmp 0x415940
mov byte [esi + 0x3a1], 0
mov ecx, dword [0x452304]
push ebx
push 1
call fcn.00418390
mov dword [esi + 0x994], 8
jmp case.0x4151a2.5
mov edx, dword [0x452308]
cmp byte [edx + 0x65c], 0
jne case.0x4143c0.11
mov ecx, dword [esi + 0x324]
push 7
call fcn.00401e70
call fcn.00428160
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 [0x452304]
push eax
call fcn.00418610
mov dword [esi + 0x994], 9
jmp case.0x4151a2.5
mov edx, dword [0x452324]
cmp byte [edx + 0x37b], 0
je case.0x4151a2.5
cmp byte [edi + 0x36c], 0
jne case.0x4151a2.5
cmp dword [esi + 0x950], 0x81
jne case.0x4151a2.5
jmp 0x415b5a
cmp byte [edi + 0x4f1], 0
jne case.0x4151a2.5
cmp byte [esi + 0x3a2], 0
je 0x415a19
push 1
push 7
call fcn.00424980
mov ecx, dword [0x452318]
mov edi, dword [0x452304]
cmp byte [esi + 0x329], 0
jne 0x415a30
mov ecx, dword [ecx + 0x622e8]
push 1
push ecx
jmp 0x415ba2
mov eax, dword [esi + 0x3a8]
cmp eax, 1
mov edi, dword [edi + 0x33c]
mov dword [esi + 0x590], edi
jle 0x415a4f
add edi, eax
mov dword [esi + 0x590], edi
push 0
push 1
mov ecx, esi
call fcn.004138d0
mov dword [esi + 0x3a8], 0xffffffff
mov dword [esi + 0x994], 0xf
jmp case.0x4151a2.5
mov edx, dword [0x452324]
cmp byte [edx + 0x37b], 0
je case.0x4151a2.5
cmp byte [edi + 0x3a0], 0
jne case.0x4151a2.5
mov ecx, edi
call fcn.004090d0
test al, al
jne case.0x4151a2.5
cmp byte [edi + 0x368], al
jne case.0x4143c0.11
cmp dword [esi + 0x950], 0x85
jne case.0x4151a2.5
mov dword [esi + 0x994], 0xa
mov eax, dword [0x452308]
mov dword [eax + 0x954], 7
jmp case.0x4151a2.5
mov ecx, dword [edi + 0x33c]
push 0
mov dword [esi + 0x590], ecx
push 1
jmp 0x415ba2
mov edx, dword [0x452324]
cmp byte [edx + 0x37b], 0
je case.0x4151a2.5
cmp byte [edi + 0x36c], 0
jne case.0x4151a2.5
mov ecx, edi
call fcn.004090d0
test al, al
jne case.0x4151a2.5
cmp byte [edi + 0x368], al
jne case.0x4143c0.11
cmp dword [esi + 0x950], 0x85
jne case.0x4151a2.5
mov ecx, dword [esi + 0x324]
push 5
call fcn.00401d50
test eax, eax
je 0x415b5a
mov ecx, dword [esi + 0x324]
push 5
call fcn.00401e70
mov dword [esi + 0x994], ebp
mov eax, dword [0x452308]
mov dword [eax + 0x954], 7
jmp case.0x4151a2.5
mov ecx, dword [0x452308]
cmp dword [ecx + 0x950], 0x81
jne case.0x4151a2.5
mov dword [esi + 0x994], 0xb
jmp case.0x4151a2.5
mov edx, dword [ecx + 0x622e8]
push 0
push edx
mov ecx, esi
call fcn.004138d0
mov dword [esi + 0x994], 0xf
jmp case.0x4151a2.5
cmp byte [esi + 0x3a3], 0
je 0x415c5a
push 1
push 0x3e8
mov ecx, esi
call fcn.00402440
test eax, eax
je case.0x4151a2.5
dec dword [esi + 0x3a4]
cmp dword [esi + 0x3a4], 0
jg case.0x4151a2.5
mov eax, dword [esi + 0x3a8]
mov ecx, dword [0x452304]
push eax
call fcn.00417d80
mov ecx, dword [esi + 0x964]
push ecx
mov ecx, dword [esi + 0x324]
call fcn.00401e70
mov eax, dword [esi + 0x3a8]
cmp eax, 0xffffffff
je 0x415c39
cmp eax, 0x1e
mov byte [esi + 0x3a2], 1
mov ecx, dword [0x452318]
jg 0x415c32
push eax
jmp 0x415c34
push 1
call fcn.00424960
mov byte [esi + 0x3a3], 0
mov dword [esi + 0x994], 0xd
mov ecx, dword [0x452324]
call fcn.00428c60
jmp case.0x4151a2.5
mov eax, dword [esi + 0x3b0]
mov ecx, 1
cmp word [eax + 0x402], cx
jne 0x415c93
add word [eax + 0x404], cx
mov eax, dword [esi + 0x3b0]
movsx edx, word [eax + 0x404]
cmp edx, dword [eax + 0x3dc]
jl 0x415c93
xor ecx, ecx
mov word [eax + 0x404], cx
mov eax, dword [0x452324]
cmp dword [eax + 0x4e0], 0
jle 0x415ce1
cmp word [eax + 0x398], 0
mov ecx, dword [0x45231c]
jne 0x415cba
cmp byte [ecx + 0x4e1], 0
je 0x415cc7
call fcn.0041ef70
test al, al
je case.0x4151a2.5
mov dword [esi + 0x994], 0x11
mov ecx, dword [0x452324]
call fcn.00428cb0
jmp case.0x4151a2.5
push 2
push 0x9c4
mov ecx, esi
call fcn.00402440
test eax, eax
jne 0x415cfd
cmp byte [esp + 0x12], al
je case.0x4151a2.5
mov dword [esi + 0x994], 0x10
jmp case.0x4151a2.5
mov edx, dword [0x452324]
cmp word [edx + 0x398], 0
jne 0x415dad
mov eax, dword [esi + 0x964]
test eax, eax
jle 0x415d9d
mov ecx, dword [esi + 0x324]
push eax
call fcn.00401d50
test eax, eax
je 0x415d97
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 0x415d97
mov eax, dword [esi + 0x964]
mov ecx, dword [esi + 0x324]
push eax
call fcn.00401e70
mov dword [esi + 0x964], 0
mov edi, dword [0x452304]
cmp byte [esi + 0x3a2], 0
je 0x415dad
mov ecx, edi
call fcn.00418aa0
mov ecx, dword [0x452324]
cmp dword [ecx + 0x39c], 0
jne case.0x4151a2.5
mov edx, dword [esi + 0x964]
mov ecx, dword [esi + 0x324]
push edx
call fcn.00401d50
test eax, eax
jne case.0x4151a2.5
cmp byte [esi + 0x329], al
jne 0x415e84
mov eax, dword [0x452318]
mov edi, dword [eax + 0x622e8]
call fcn.00428160
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 [0x4531f0], eax
add dword [0x452868], eax
cmp eax, 0x4e20
mov dword [esp + 0x20], eax
jl 0x415e32
fild dword [esp + 0x20]
jmp 0x415e43
cmp eax, 0x2710
jl 0x415e5a
fild dword [esp + 0x20]
fmul dword [0x444c50]
fmul dword [0x444814]
fiadd dword [esi + 0x5a4]
call fcn.0042d150
mov dword [esi + 0x5a4], eax
cmp dword [esi + 0x5a4], 0
jle 0x415e76
call fcn.0042e980
cdq
mov ecx, 3
idiv ecx
mov dword [esi + 0x5a8], edx
call fcn.00428110
push eax
call fcn.00428170
add esp, 4
cmp byte [esi + 0x3a2], 0
je 0x415e98
mov ecx, dword [0x452304]
call fcn.00418a90
mov ecx, dword [0x452318]
call fcn.004262d0
mov ecx, esi
call fcn.0040ffc0
mov dword [esi + 0x994], 0x10
jmp case.0x4151a2.5
cmp byte [esi + 0x5e5], 0
jne 0x415ece
mov ecx, esi
call fcn.0040ffc0
mov edx, 2
cmp dword [0x45544c], 0
jne 0x415eec
mov dword [esi + 0x954], edx
mov dword [esi + 0x994], 0x12
jmp case.0x4151a2.5
push 9
call fcn.00428080
mov dword [esi + 0x994], 0x12
jmp 0x416211
mov ecx, edi
call fcn.004090d0
test al, al
jne case.0x4151a2.5
cmp byte [edi + 0x4cc], al
jne case.0x4151a2.5
mov dword [esi + 0x994], 0
jmp case.0x4151a2.5
mov eax, dword [edi + 0x514]
cmp eax, ebp
je 0x415f6d
cmp byte [edi + 0x510], 0
je 0x415f6d
cmp eax, 0xe
jne case.0x4151a2.5
mov dword [esi + 0x994], 0
mov ecx, dword [0x452304]
call fcn.00418a80
mov ecx, dword [0x452320]
call fcn.0040e680
jmp case.0x4151a2.5
mov ecx, edi
call fcn.00418a80
mov byte [esi + 0x329], 0
mov ecx, dword [0x452318]
call fcn.004261b0
mov dword [esi + 0x994], 0
call fcn.00428110
add dword [0x4531f0], eax
call fcn.00428110
add dword [0x452868], eax
call fcn.00428110
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fmul dword [0x444814]
fiadd dword [esi + 0x5a4]
call fcn.0042d150
mov dword [esi + 0x5a4], eax
call fcn.00428110
push eax
call fcn.00428170
push 0
call fcn.00428140
mov ecx, dword [0x452320]
add esp, 8
call fcn.0040e680
jmp case.0x4151a2.5
mov eax, dword [esi + 0x950]
cmp eax, 6
je 0x416005
cmp eax, 0x81
jne case.0x4151a2.5
cmp byte [esi + 0x5e5], 0
je case.0x4151a2.5
mov ecx, dword [esi + 0x324]
push 0xf
call fcn.00401e70
mov ecx, esi
call fcn.0040ff90
mov ecx, dword [0x452308]
cmp byte [ecx + 0x65c], 0
je 0x416055
cmp dword [esi + 0x39c], 0x3e8
jl 0x416050
mov edx, dword [0x452318]
cmp dword [edx + 0x622f8], 0
jg 0x416055
call fcn.0040fa70
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
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 ecx, dword [0x452320]
call fcn.0040e680
push 0x31
mov ecx, esi
mov dword [esi + 0x954], 3
call fcn.004024c0
push 0x31
mov ecx, esi
call fcn.004024e0
add dword [esi + 0x558], eax
mov eax, dword [0x452304]
mov byte [eax + 0x368], bl
mov ecx, dword [0x452324]
call fcn.00428c60
lea edi, [ebx + 0x15]
cmp byte [esi + 0x329], bl
je 0x416131
mov ecx, dword [0x452318]
cmp dword [ecx + 0x622f8], ebx
jg 0x41613a
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 0x416116
mov ecx, eax
push ecx
call fcn.00428110
mov edx, dword [esi + 0x988]
mov ecx, dword [0x452304]
push eax
push edx
call fcn.00417cf0
jmp 0x41613a
push ebx
call fcn.00428140
add esp, 4
cmp byte [esi + 0x3a0], 0
je 0x4161dd
mov dword [esi + 0x994], 0x13
mov eax, dword [0x452320]
mov eax, dword [eax + 0x18]
cmp eax, 7
jle 0x416170
call fcn.0042e980
cdq
mov ecx, 0x1e
idiv ecx
add edx, 0x46
jmp 0x4161ae
cmp eax, 4
jle 0x416187
call fcn.0042e980
cdq
mov ecx, 0x1e
idiv ecx
add edx, 0x32
jmp 0x4161ae
cmp eax, 2
jle 0x41619e
call fcn.0042e980
cdq
mov ecx, 0x19
idiv ecx
add edx, 0x23
jmp 0x4161ae
call fcn.0042e980
cdq
mov ecx, 0x19
idiv ecx
add edx, 0xf
movzx eax, byte [esi + 0x3a1]
test al, al
je 0x4161bf
mov dword [esi + 0x988], edx
mov ecx, dword [0x452304]
push ebx
push edx
push eax
call fcn.00417fb0
mov byte [esi + 0x3a1], 0
mov byte [esi + 0x3a0], 0
jmp case.0x4151a2.5
cmp dword [esi + 0x994], edi
je case.0x4151a2.5
mov dword [esi + 0x994], ebx
call fcn.004280f0
test eax, eax
jne case.0x4151a2.5
call fcn.00428100
test eax, eax
jne case.0x4151a2.5
mov edx, dword [0x452318]
cmp dword [edx + 0x622f8], ebx
jg case.0x4151a2.5
push ebx
call fcn.004280b0
add esp, 4
xor ebx, ebx
mov byte [esi + 0x5e4], 1
mov byte [esi + 0x5e5], 1
lea edi, [esi + 0x688]
lea ebp, [ebx + 0x25]
lea ecx, [ecx]
mov ecx, dword [edi - 0x14]
lea eax, [ecx - 1]
cmp eax, 0xe
ja case.0x41623f.10
jmp dword [eax*4 + 0x4165e0]
mov ecx, dword [edi - 0xc]
lea eax, [ebx + 5]
push eax
push ecx
mov ecx, esi
call fcn.00402440
test eax, eax
je case.0x41623f.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.0x41623f.10
inc dword [edi - 0x10]
mov eax, dword [edi - 0x10]
mov edx, dword [esi + 0x3b8]
cmp eax, dword [edx + 0x3dc]
jl case.0x41623f.10
dec dword [edi - 0xc]
cmp dword [edi - 0xc], 0
mov dword [edi - 0x10], 0
jg case.0x41623f.10
cmp ecx, 2
jne 0x4162c5
mov dword [edi - 0x14], 3
mov byte [edi + 0x15], 1
jmp case.0x41623f.10
mov dword [edi - 0x14], 8
cmp dword [esi + 0x944], ebx
jne 0x4162e8
cmp byte [esi + 0x56c], 0
je 0x4162e8
mov ecx, dword [0x452304]
call fcn.004183e0
mov byte [edi + 0x15], 1
jmp case.0x41623f.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.0x41623f.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.0x41623f.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.0x41623f.10
mov dword [edi - 0x10], 0
mov dword [edi - 0x14], 4
mov dword [edi], 1
jmp case.0x41623f.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.0x41623f.10
mov dword [edi - 0x10], 0
jmp case.0x41623f.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.0x41623f.10
mov dword [edi - 0x14], 6
jmp case.0x41623f.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.0x41623f.10
mov dword [edi - 0x10], 0
mov dword [edi - 0xc], 1
cmp byte [esi + 0x941], 0
je 0x41641c
cmp dword [esi + 0x944], ebx
jne 0x41641c
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.0x41623f.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.0x41623f.10
mov dword [edi - 0x10], 0
mov dword [edi - 0x14], 9
mov dword [edi], 1
cmp ebx, dword [esi + 0x560]
jne case.0x41623f.10
mov ecx, dword [esi + 0x324]
push 4
call fcn.00401e70
mov ecx, dword [esi + 0x324]
push 6
call fcn.00401dd0
jmp case.0x41623f.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.0x41623f.10
mov dword [edi - 0x14], 0xf
mov dword [edi + 0x10], 0
jmp case.0x41623f.10
add dword [edi + 0x10], 2
cmp dword [edi + 0x10], ebp
jl 0x4164b8
mov dword [edi + 0x10], ebp
inc dword [edi - 0x10]
mov eax, 0xc
cmp dword [edi - 0x10], eax
jl case.0x41623f.10
mov dword [edi - 0x10], eax
mov dword [edi - 0x14], 0x11
mov dword [edi + 0x10], ebp
cmp dword [edi - 0x14], 4
je 0x4164df
mov byte [esi + 0x5e4], 0
cmp dword [edi - 0x14], 0x11
je 0x4164ec
mov byte [esi + 0x5e5], 0
inc ebx
add edi, 0x2c
cmp ebx, 5
jl 0x416230
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, 0x70
ret