Function at 0x45a590
Capabilities:
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x5cbc0d
mov eax, dword fs:[0]
push eax
sub esp, 0x750
mov eax, dword [0x694114]
xor eax, esp
mov dword [esp + 0x74c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x694114]
xor eax, esp
push eax
lea eax, [esp + 0x764]
mov dword fs:[0], eax
mov eax, dword [esp + 0x778]
mov esi, dword [esp + 0x774]
xor ebx, ebx
mov edi, ecx
mov ecx, dword [esp + 0x77c]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], ecx
cmp dword [eax + 0x10], ebx
je 0x45c668
push 0xffffffffffffffff
push ebx
xor edx, edx
push eax
lea ecx, [esp + 0x25c]
mov dword [esp + 0x270], 7
mov dword [esp + 0x26c], ebx
mov word [esp + 0x25c], dx
call fcn.00402610
mov dword [esp + 0x26c], ebx
mov dword [esp + 0x270], ebx
mov ecx, dword [edi + 4]
mov esi, dword [edi]
mov dword [esp + 0x76c], ebx
cmp ecx, ebx
jl 0x45a669
jg 0x45a64d
cmp esi, ebx
jb 0x45a669
mov eax, dword [0x603ad8]
cdq
push edx
push eax
push ecx
push esi
call fcn.00585050
cmp edx, ebx
jl 0x45a6d0
jg 0x45a669
cmp eax, 0x7fffffff
jb 0x45a6d0
or ebp, 0xffffffff
mov dword [esp + 0x50], ebp
xor dl, dl
mov ecx, dword [esp + 0x250]
xor al, al
cmp dword [esp + 0x264], 8
jae 0x45a68c
lea ecx, [esp + 0x250]
cmp dl, bl
je 0x45a70a
mov edi, dword [esp + 0x260]
jmp 0x45a6a0
cmp dword [esp + 0x264], 8
mov esi, dword [esp + 0x250]
jae 0x45a6b8
lea esi, [esp + 0x250]
lea esi, [esi + edi*2]
cmp ecx, esi
je 0x45a8a1
cmp al, bl
jne 0x45a6e6
cmp word [ecx], 0x25
sete al
jmp case.0x45a6fa.72
mov dword [esp + 0x50], edx
cdq
mov ebp, eax
and eax, edx
mov dword [esp + 0x50], edx
cmp eax, 0xffffffff
je 0x45a670
mov dl, 1
jmp 0x45a672
movzx esi, word [ecx]
add esi, 0xffffffb9
xor al, al
cmp esi, 0x33
ja case.0x45a6fa.72
movzx esi, byte [esi + 0x45c6ac]
jmp dword [esi*4 + 0x45c6a4]
xor dl, dl
add ecx, 2
cmp dl, bl
jne 0x45a6a0
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x2c]
push edx
call fcn.00468690
movzx eax, word [esp + 0x2e]
movzx ecx, word [esp + 0x2c]
movzx edx, word [esp + 0x2a]
mov dword [esp + 0x278], ebx
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x27c], eax
mov dword [esp + 0x278], ecx
mov eax, 7
xor ecx, ecx
mov dword [esp + 0x274], ebx
mov dword [esp + 0x280], ebx
mov dword [esp + 0x284], ebx
mov dword [esp + 0x288], ebx
mov dword [esp + 0x294], ebx
mov dword [esp + 0x28c], ebx
mov dword [esp + 0x290], ebx
mov dword [esp + 0x274], edx
mov dword [esp + 0x280], 1
mov dword [esp + 0x284], ebx
mov dword [esp + 0x288], 0x4c
mov dword [esp + 0x294], ebx
mov dword [esp + 0x6c0], eax
mov dword [esp + 0x6bc], ebx
mov word [esp + 0x6ac], cx
mov dword [esp + 0x6c8], ebx
mov dword [esp + 0x6cc], ebx
xor edx, edx
mov dword [esp + 0x240], eax
mov dword [esp + 0x23c], ebx
mov word [esp + 0x22c], dx
mov dword [esp + 0x248], ebx
mov dword [esp + 0x24c], ebx
mov dword [esp + 0x21c], eax
xor eax, eax
mov dword [esp + 0x218], ebx
mov word [esp + 0x208], ax
mov dword [esp + 0x224], ebx
mov dword [esp + 0x228], ebx
mov esi, dword [esp + 0x250]
mov edi, 8
mov byte [esp + 0x76c], 3
cmp dword [esp + 0x264], edi
jae 0x45a83f
lea esi, [esp + 0x250]
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x250]
mov dword [esp + 0x14], esi
cmp dword [esp + 0x264], edi
jae 0x45a85e
lea eax, [esp + 0x250]
mov ecx, dword [esp + 0x260]
lea eax, [eax + ecx*2]
cmp esi, eax
je 0x45c58a
movzx eax, word [esi]
cmp eax, 0x25
jne 0x45c56c
movzx eax, word [esi + 2]
add esi, 2
add eax, 0xffffffb9
mov dword [esp + 0x14], esi
cmp eax, 0x33
ja case.0x45a89a.72
movzx edx, byte [eax + 0x45c6f0]
jmp dword [edx*4 + 0x45c6e0]
cmp dl, bl
je 0x45a70a
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
push ecx
push edx
lea eax, [esp + 0x744]
push ebp
push eax
call fcn.00467670
add esp, 0x10
cmp eax, ebx
je 0x45a70a
mov esi, dword [esp + 0x24]
push eax
lea ecx, [esp + 0x254]
push ecx
push esi
call fcn.00467a60
mov edx, dword [esp + 0x278]
push edx
call fcn.005844d1
add esp, 0x10
cmp dword [esp + 0x264], 8
jb 0x45c676
mov eax, dword [esp + 0x250]
push eax
call fcn.00584768
add esp, 4
jmp 0x45c676
push 4
push str._04d
jmp 0x45a934
push 4
push str._03d
jmp 0x45a934
push 2
push 0x5fefa0
jmp 0x45a934
push 4
push str._02d
lea ecx, [esp + 0x210]
call fcn.00402710
mov ebp, 7
movzx eax, word [esi]
cmp eax, 0x7a
ja case.0x45a954.1
movzx eax, byte [eax + 0x45c788]
jmp dword [eax*4 + 0x45c724]
mov eax, dword [esp + 0x208]
mov dword [esp + 0x218], ebx
cmp dword [esp + 0x21c], edi
jae 0x45a979
lea eax, [esp + 0x208]
xor ecx, ecx
mov word [eax], cx
mov edi, edi
movzx eax, word [esi]
cmp eax, 0x2d
je 0x45a99f
cmp eax, 0x2b
je 0x45a99f
cmp eax, 0x20
je 0x45a99f
push eax
call fcn.00585a7f
add esp, 4
test eax, eax
je 0x45a9b4
movzx eax, word [esi]
push eax
lea ecx, [esp + 0x20c]
call fcn.00414690
add esi, 2
jmp 0x45a980
cmp dword [esp + 0x218], ebx
je case.0x45a954.37
xor edx, edx
mov dword [esp + 0x2f4], ebp
mov dword [esp + 0x2f0], ebx
mov word [esp + 0x2e0], dx
mov dword [esp + 0x2fc], ebx
mov dword [esp + 0x300], ebx
mov eax, 0x25
push eax
push 1
lea ecx, [esp + 0x2e8]
mov byte [esp + 0x774], 0x61
call fcn.00414280
lea eax, [esp + 0x2e0]
push eax
lea ecx, [esp + 0x20c]
mov byte [esp + 0x770], 0x62
call fcn.004145a0
mov ecx, dword [esp + 0x2fc]
push ecx
mov byte [esp + 0x770], 3
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x2f4], edi
jb 0x45aa50
mov edx, dword [esp + 0x2e0]
push edx
call fcn.00584768
add esp, 4
xor eax, eax
mov word [esp + 0x2e0], ax
mov eax, 0x64
push eax
push 1
lea ecx, [esp + 0x210]
mov dword [esp + 0x2fc], ebp
mov dword [esp + 0x2f8], ebx
call fcn.00414190
jmp 0x45a945
cmp word [esi], 0x61
mov dword [esp + 0x14], esi
sete byte [esp + 0x23]
cmp word [esp + 0x40], bp
jne 0x45aa9e
lea ecx, [esp + 0x28]
call fcn.00467400
movzx esi, word [esp + 0x40]
xor ecx, ecx
cmp byte [esp + 0x23], bl
lea edx, [esp + 0x6f4]
setne cl
inc ecx
push ecx
push esi
push edx
call fcn.00468030
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 4
call fcn.004023f0
mov eax, dword [esp + 0x710]
push eax
mov byte [esp + 0x770], 3
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x708], edi
jb 0x45c579
mov ecx, dword [esp + 0x6f4]
push ecx
call fcn.00584768
mov esi, dword [esp + 0x18]
add esp, 4
add esi, 2
mov edi, 8
jmp 0x45a83f
cmp word [esi], 0x62
lea ecx, [esp + 0x718]
sete al
xor edx, edx
cmp al, bl
mov eax, dword [esp + 0x34]
setne dl
mov dword [esp + 0x14], esi
inc edx
push edx
push eax
push ecx
call fcn.00467e80
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 5
call fcn.004023f0
mov edx, dword [esp + 0x734]
push edx
mov byte [esp + 0x770], 3
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x72c], edi
jb 0x45c579
mov eax, dword [esp + 0x718]
push eax
call fcn.00584768
add esp, 4
add esi, 2
mov edi, 8
jmp 0x45a83f
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x1f0]
push edx
mov dword [esp + 0x1c], esi
call fcn.00468690
mov ecx, dword [eax + 0x10]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
add edx, edx
add edx, edx
mov eax, ecx
sub eax, edx
mov dword [esp + 0x44], ecx
lea esi, [eax + 0x7c4]
cmp eax, 0xa
jl 0x45abf6
lea esi, [eax + 0x7a8]
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0x51eb851f
imul dword [esp + 0x44]
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, edi
cdq
and edx, 3
lea ecx, [edx + eax]
mov eax, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
sar ecx, 2
sub ecx, eax
sub ecx, edi
add ecx, ebp
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
je 0x45aca2
lea esp, [esp]
mov edx, esi
and edx, 0x80000003
jns 0x45ac6f
dec edx
or edx, 0xfffffffc
inc edx
inc esi
mov eax, 1
test edx, edx
jne 0x45ac7e
mov eax, 2
add ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x45ac60
cmp esi, 0x7d0
jl 0x45acad
sub esi, 0x1c
lea ecx, [esp + 0x304]
push ecx
call fcn.00467370
movzx edx, word [esp + 0x32]
movzx eax, word [esp + 0x30]
movzx ecx, word [esp + 0x2e]
add esp, 4
cmp word [esp + 0x40], 7
mov dword [esp + 0x30c], edx
mov dword [esp + 0x308], eax
mov dword [esp + 0x304], ecx
jne 0x45acf2
lea ecx, [esp + 0x28]
call fcn.00467400
movzx edx, word [esp + 0x40]
push ebx
lea ecx, [esp + 0x5c]
mov dword [esp + 0x320], edx
call fcn.00467430
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x58]
push eax
call fcn.00468e20
movzx edx, word [esp + 0x30]
movzx ecx, ax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x310], edx
mov edx, dword [esp + 0x14]
cmp word [edx], 0x63
mov dword [esp + 0x320], ecx
lea ecx, [esi - 0x76c]
mov dword [esp + 0x314], eax
mov dword [esp + 0x318], ecx
mov dword [esp + 0x324], ebx
mov edx, 0x5fef8c
je 0x45ad5f
mov edx, 0x5fef84
xor eax, eax
mov word [esp + 0x2bc], ax
mov eax, edx
mov dword [esp + 0x2d0], 7
mov dword [esp + 0x2cc], ebx
lea ebp, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x45ad80
sub eax, ebp
sar eax, 1
push eax
push edx
lea ecx, [esp + 0x2c4]
call fcn.00402710
mov dword [esp + 0x2d8], ebx
mov dword [esp + 0x2dc], ebx
lea ecx, [esp + 0x304]
push ecx
lea edx, [esp + 0x2c0]
push edx
lea eax, [esp + 0x354]
push eax
mov byte [esp + 0x778], 6
call fcn.00467a60
mov ecx, dword [esp + 0x2e4]
push ecx
mov byte [esp + 0x77c], 8
call fcn.005844d1
mov ebp, 8
add esp, 0x10
cmp dword [esp + 0x2d0], ebp
jb 0x45ae06
mov edx, dword [esp + 0x2bc]
push edx
call fcn.00584768
add esp, 4
xor eax, eax
push 0x5fef80
lea ecx, [esp + 0x29c]
mov dword [esp + 0x2d4], 7
mov dword [esp + 0x2d0], ebx
mov word [esp + 0x2c0], ax
call fcn.00402bb0
mov byte [esp + 0x76c], 9
jmp 0x45ae40
mov eax, dword [esp + 0x298]
cmp dword [esp + 0x2ac], ebp
jae 0x45ae57
lea eax, [esp + 0x298]
mov ecx, dword [esp + 0x2a8]
push ecx
push ebx
push eax
lea ecx, [esp + 0x358]
call fcn.00405d70
cmp eax, dword [0x5fcc58]
je 0x45ae8f
push 0x7c
push 1
lea ecx, [esp + 0x2a0]
mov dword [esp + 0x54], 0x7c
call fcn.00413a50
jmp 0x45ae40
call fcn.00420510
mov dword [esp + 0x1d8], eax
push 0xffffffffffffffff
lea edx, [esp + 0x1e0]
push 0x5fd800
push edx
mov byte [esp + 0x778], 0xa
call fcn.00402290
mov byte [esp + 0x778], 0xb
call fcn.00420510
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], ebx
mov dword [esp + 0x1f4], ebx
push esi
lea eax, [esp + 0x1e8]
push eax
lea ecx, [esp + 0x69c]
push ecx
mov byte [esp + 0x784], 0xc
call fcn.004575c0
add esp, 0x18
push 1
lea edx, [esp + 0x29c]
push edx
push eax
lea ecx, [esp + 0x358]
mov byte [esp + 0x778], 0xd
call fcn.004224a0
mov eax, dword [esp + 0x6a4]
push eax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x69c], ebp
jb 0x45af42
mov ecx, dword [esp + 0x688]
push ecx
call fcn.00584768
add esp, 4
xor edx, edx
lea ecx, [esp + 0x1d8]
mov dword [esp + 0x69c], 7
mov dword [esp + 0x698], ebx
mov word [esp + 0x688], dx
mov byte [esp + 0x76c], 9
call fcn.004020c0
call fcn.00420510
mov dword [esp + 0x1b0], eax
push 0xffffffffffffffff
lea eax, [esp + 0x1b8]
push 0x5fd800
push eax
mov byte [esp + 0x778], 0xe
call fcn.00402290
mov byte [esp + 0x778], 0xf
call fcn.00420510
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ebx
mov dword [esp + 0x1cc], ebx
mov byte [esp + 0x778], 0x10
call fcn.00420510
mov dword [esp + 0x1a8], eax
push 0xffffffffffffffff
lea ecx, [esp + 0x1b0]
push 0x5fd800
push ecx
mov byte [esp + 0x784], 0x11
call fcn.00402290
mov byte [esp + 0x784], 0x12
call fcn.00420510
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ebx
mov dword [esp + 0x1c4], ebx
imul edi, edi, 0x64
mov ebp, dword [esp + 0x5c]
mov edx, ebp
sub edx, edi
push edx
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0x63c]
push ecx
mov byte [esp + 0x790], 0x13
call fcn.004575c0
mov edi, eax
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub esi, eax
push esi
lea ecx, [esp + 0x1c4]
push ecx
lea edx, [esp + 0x3e4]
push edx
mov byte [esp + 0x79c], 0x14
call fcn.004575c0
add esp, 0x30
push 1
push edi
push eax
lea ecx, [esp + 0x358]
mov byte [esp + 0x778], 0x15
call fcn.004224a0
mov eax, dword [esp + 0x3d4]
push eax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x3cc], 8
jb 0x45b0b2
mov ecx, dword [esp + 0x3b8]
push ecx
call fcn.00584768
add esp, 4
mov eax, dword [esp + 0x638]
xor edx, edx
mov edi, 7
push eax
mov dword [esp + 0x3d0], edi
mov dword [esp + 0x3cc], ebx
mov word [esp + 0x3bc], dx
call fcn.005844d1
mov esi, 8
add esp, 4
cmp dword [esp + 0x630], esi
jb 0x45b0fd
mov ecx, dword [esp + 0x61c]
push ecx
call fcn.00584768
add esp, 4
xor edx, edx
lea ecx, [esp + 0x19c]
mov dword [esp + 0x630], edi
mov dword [esp + 0x62c], ebx
mov word [esp + 0x61c], dx
mov byte [esp + 0x76c], 0x10
call fcn.004020c0
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x76c], 9
call fcn.004020c0
call fcn.00420510
mov dword [esp + 0x98], eax
push 0xffffffffffffffff
lea eax, [esp + 0xa0]
push 0x5fd800
push eax
mov byte [esp + 0x778], 0x16
call fcn.00402290
mov byte [esp + 0x778], 0x17
call fcn.00420510
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
push ebp
lea ecx, [esp + 0xa8]
push ecx
lea edx, [esp + 0x414]
push edx
mov byte [esp + 0x784], 0x18
call fcn.004575c0
add esp, 0x18
push 1
push eax
lea eax, [esp + 0x2a0]
push eax
lea ecx, [esp + 0x358]
mov byte [esp + 0x778], 0x19
call fcn.004224a0
mov ecx, dword [esp + 0x41c]
push ecx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x414], esi
jb 0x45b1f0
mov edx, dword [esp + 0x400]
push edx
call fcn.00584768
add esp, 4
xor eax, eax
lea ecx, [esp + 0x98]
mov dword [esp + 0x414], edi
mov dword [esp + 0x410], ebx
mov word [esp + 0x400], ax
mov byte [esp + 0x76c], 9
call fcn.004020c0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x354]
push ecx
lea ecx, [esp + 0x238]
call fcn.004023f0
mov edx, dword [esp + 0x2b4]
push edx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x2ac], esi
jb 0x45b25c
mov eax, dword [esp + 0x298]
push eax
call fcn.00584768
add esp, 4
mov edx, dword [esp + 0x368]
xor ecx, ecx
push edx
mov dword [esp + 0x2b0], edi
mov dword [esp + 0x2ac], ebx
mov word [esp + 0x29c], cx
mov byte [esp + 0x770], 3
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x360], esi
jb 0x45c579
mov eax, dword [esp + 0x34c]
push eax
call fcn.00584768
mov esi, dword [esp + 0x18]
add esp, 4
add esi, 2
mov edi, 8
jmp 0x45a83f
mov dword [esp + 0x14], esi
call fcn.00420510
mov dword [esp + 0x160], eax
mov byte [esp + 0x76c], 0x1a
call fcn.00420510
mov dword [esp + 0x164], eax
mov byte [esp + 0x76c], 0x1b
call fcn.00420510
lea ecx, [esp + 0x208]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], ebx
mov edx, dword [esp + 0x30]
push edx
lea eax, [esp + 0x164]
push eax
lea ecx, [esp + 0x5b8]
push ecx
mov byte [esp + 0x778], 0x1c
call fcn.004575f0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x1d
call fcn.004023f0
mov edx, dword [esp + 0x5cc]
push edx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x5c4], edi
jb 0x45b36d
mov eax, dword [esp + 0x5b0]
push eax
call fcn.00584768
add esp, 4
xor ecx, ecx
mov word [esp + 0x5b0], cx
lea ecx, [esp + 0x160]
mov dword [esp + 0x5c4], ebp
mov dword [esp + 0x5c0], ebx
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], esi
call fcn.00467430
call fcn.00420510
mov dword [esp + 0xc0], eax
mov byte [esp + 0x76c], 0x1e
call fcn.00420510
mov dword [esp + 0xc4], eax
mov byte [esp + 0x76c], 0x1f
call fcn.00420510
lea edx, [esp + 0x208]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], ebx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x54]
push eax
mov byte [esp + 0x770], 0x20
call fcn.00469850
cdq
mov ecx, 0x64
idiv ecx
lea eax, [esp + 0x448]
push edx
lea edx, [esp + 0xc4]
push edx
push eax
call fcn.004575c0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x21
call fcn.004023f0
mov ecx, dword [esp + 0x464]
push ecx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x45c], edi
jb 0x45b479
mov edx, dword [esp + 0x448]
push edx
call fcn.00584768
add esp, 4
xor eax, eax
lea ecx, [esp + 0xc0]
mov dword [esp + 0x45c], ebp
mov dword [esp + 0x458], ebx
mov word [esp + 0x448], ax
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x18], esi
call fcn.00467430
call fcn.00420510
mov dword [esp + 0x5c], eax
mov byte [esp + 0x76c], 0x22
call fcn.00420510
mov dword [esp + 0x60], eax
mov byte [esp + 0x76c], 0x23
call fcn.00420510
lea ecx, [esp + 0x208]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x48]
push edx
mov byte [esp + 0x770], 0x24
call fcn.00469850
push eax
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x648]
push ecx
call fcn.004575c0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x25
call fcn.004023f0
mov edx, dword [esp + 0x65c]
push edx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x654], edi
jb 0x45b56b
mov eax, dword [esp + 0x640]
push eax
call fcn.00584768
add esp, 4
xor ecx, ecx
mov word [esp + 0x640], cx
lea ecx, [esp + 0x5c]
mov dword [esp + 0x654], ebp
mov dword [esp + 0x650], ebx
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
mov dword [esp + 0x14], esi
call fcn.00420510
mov dword [esp + 0xe8], eax
mov byte [esp + 0x76c], 0x26
call fcn.00420510
mov dword [esp + 0xec], eax
mov byte [esp + 0x76c], 0x27
call fcn.00420510
lea edx, [esp + 0x208]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf8], ebx
mov eax, dword [esp + 0x2e]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x498]
push edx
mov byte [esp + 0x778], 0x28
call fcn.004575f0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x29
call fcn.004023f0
mov eax, dword [esp + 0x4ac]
push eax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x4a4], edi
jb 0x45b658
mov ecx, dword [esp + 0x490]
push ecx
call fcn.00584768
add esp, 4
xor edx, edx
lea ecx, [esp + 0xe8]
mov dword [esp + 0x4a4], ebp
mov dword [esp + 0x4a0], ebx
mov word [esp + 0x490], dx
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
mov eax, dword [esp + 0x2e]
mov dword [esp + 0x14], esi
movzx esi, ax
cmp ax, 0xc
jbe 0x45b6ab
sub esi, 0xc
jmp 0x45b6b5
cmp ax, bx
jne 0x45b6b5
mov esi, 0xc
call fcn.00420510
mov dword [esp + 0x188], eax
mov byte [esp + 0x76c], 0x2a
call fcn.00420510
mov dword [esp + 0x18c], eax
mov byte [esp + 0x76c], 0x2b
call fcn.00420510
mov dword [esp + 0x190], eax
lea eax, [esp + 0x208]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ebx
push esi
lea ecx, [esp + 0x18c]
push ecx
lea edx, [esp + 0x600]
push edx
mov byte [esp + 0x778], 0x2c
call fcn.004575c0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x2d
call fcn.004023f0
mov eax, dword [esp + 0x614]
push eax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x60c], edi
jb 0x45b760
mov ecx, dword [esp + 0x5f8]
push ecx
call fcn.00584768
add esp, 4
xor edx, edx
lea ecx, [esp + 0x188]
mov dword [esp + 0x60c], ebp
mov dword [esp + 0x608], ebx
mov word [esp + 0x5f8], dx
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
mov dword [esp + 0x14], esi
call fcn.00420510
mov dword [esp + 0x110], eax
mov byte [esp + 0x76c], 0x2e
call fcn.00420510
mov dword [esp + 0x114], eax
mov byte [esp + 0x76c], 0x2f
call fcn.00420510
mov dword [esp + 0x118], eax
lea eax, [esp + 0x208]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ebx
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x770], 0x30
call fcn.00468e20
movzx edx, ax
push edx
lea eax, [esp + 0x114]
push eax
lea ecx, [esp + 0x4e0]
push ecx
call fcn.004575f0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x31
call fcn.004023f0
mov edx, dword [esp + 0x4f4]
push edx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x4ec], edi
jb 0x45b85d
mov eax, dword [esp + 0x4d8]
push eax
call fcn.00584768
add esp, 4
xor ecx, ecx
mov word [esp + 0x4d8], cx
lea ecx, [esp + 0x110]
mov dword [esp + 0x4ec], ebp
mov dword [esp + 0x4e8], ebx
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
mov dword [esp + 0x14], esi
call fcn.00420510
mov dword [esp + 0x1c4], eax
mov byte [esp + 0x76c], 0x32
call fcn.00420510
mov dword [esp + 0x1c8], eax
mov byte [esp + 0x76c], 0x33
call fcn.00420510
lea edx, [esp + 0x208]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], edx
mov dword [esp + 0x1d4], ebx
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x1f0]
push ecx
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x774], 0x34
call fcn.00468690
movzx eax, word [eax]
push eax
lea edx, [esp + 0x1c8]
push edx
lea eax, [esp + 0x378]
push eax
call fcn.004575f0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x35
call fcn.004023f0
mov ecx, dword [esp + 0x38c]
push ecx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x384], edi
jb 0x45b962
mov edx, dword [esp + 0x370]
push edx
call fcn.00584768
add esp, 4
xor eax, eax
lea ecx, [esp + 0x1c4]
mov dword [esp + 0x384], ebp
mov dword [esp + 0x380], ebx
mov word [esp + 0x370], ax
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
mov dword [esp + 0x14], esi
call fcn.00420510
mov dword [esp + 0x138], eax
mov byte [esp + 0x76c], 0x36
call fcn.00420510
mov dword [esp + 0x13c], eax
mov byte [esp + 0x76c], 0x37
call fcn.00420510
lea ecx, [esp + 0x208]
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], ebx
mov edx, dword [esp + 0x34]
inc edx
push edx
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x528]
push ecx
mov byte [esp + 0x778], 0x38
call fcn.004575c0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x39
call fcn.004023f0
mov edx, dword [esp + 0x53c]
push edx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x534], edi
jb 0x45ba53
mov eax, dword [esp + 0x520]
push eax
call fcn.00584768
add esp, 4
xor ecx, ecx
mov word [esp + 0x520], cx
lea ecx, [esp + 0x138]
mov dword [esp + 0x534], ebp
mov dword [esp + 0x530], ebx
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
mov dword [esp + 0x14], esi
call fcn.00420510
mov dword [esp + 0x70], eax
mov byte [esp + 0x76c], 0x3a
call fcn.00420510
mov dword [esp + 0x74], eax
mov byte [esp + 0x76c], 0x3b
call fcn.00420510
lea edx, [esp + 0x208]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0x2c]
push eax
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x66c]
push edx
mov byte [esp + 0x778], 0x3c
call fcn.004575f0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x3d
call fcn.004023f0
mov eax, dword [esp + 0x680]
push eax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x678], edi
jb 0x45bb34
mov ecx, dword [esp + 0x664]
push ecx
call fcn.00584768
add esp, 4
xor edx, edx
lea ecx, [esp + 0x70]
mov dword [esp + 0x678], ebp
mov dword [esp + 0x674], ebx
mov word [esp + 0x664], dx
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
push 2
xor eax, eax
push 0x5fef78
lea ecx, [esp + 0x330]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x344], ebp
mov dword [esp + 0x340], ebx
mov word [esp + 0x330], ax
call fcn.00402710
mov dword [esp + 0x344], ebx
mov dword [esp + 0x348], ebx
lea ecx, [esp + 0x274]
push ecx
lea edx, [esp + 0x32c]
push edx
lea eax, [esp + 0x570]
push eax
mov byte [esp + 0x778], 0x3e
call fcn.00467a60
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x3f
call fcn.004023f0
mov ecx, dword [esp + 0x584]
push ecx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x57c], edi
jb 0x45bc14
mov edx, dword [esp + 0x568]
push edx
call fcn.00584768
add esp, 4
mov ecx, dword [esp + 0x344]
xor eax, eax
push ecx
mov dword [esp + 0x580], ebp
mov dword [esp + 0x57c], ebx
mov word [esp + 0x56c], ax
mov byte [esp + 0x770], 3
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x33c], edi
jb 0x45c579
mov edx, dword [esp + 0x328]
push edx
call fcn.00584768
mov esi, dword [esp + 0x18]
add esp, 4
add esi, 2
mov edi, 8
jmp 0x45a83f
mov dword [esp + 0x14], esi
call fcn.00420510
mov dword [esp + 0x84], eax
mov byte [esp + 0x76c], 0x40
call fcn.00420510
mov dword [esp + 0x88], eax
mov byte [esp + 0x76c], 0x41
call fcn.00420510
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x208]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ebx
mov ecx, dword [esp + 0x2a]
push ecx
lea edx, [esp + 0x88]
push edx
lea eax, [esp + 0x39c]
push eax
mov byte [esp + 0x778], 0x42
call fcn.004575f0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x43
call fcn.004023f0
mov ecx, dword [esp + 0x3b0]
push ecx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x3a8], edi
jb 0x45bd25
mov edx, dword [esp + 0x394]
push edx
call fcn.00584768
add esp, 4
xor eax, eax
lea ecx, [esp + 0x84]
mov dword [esp + 0x3a8], ebp
mov dword [esp + 0x3a4], ebx
mov word [esp + 0x394], ax
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
mov dword [esp + 0x14], esi
call fcn.00420510
mov dword [esp + 0xac], eax
mov byte [esp + 0x76c], 0x44
call fcn.00420510
mov dword [esp + 0xb0], eax
mov byte [esp + 0x76c], 0x45
call fcn.00420510
lea ecx, [esp + 0x208]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], ebx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push edx
push 2
mov byte [esp + 0x774], 0x46
call fcn.00469600
movzx eax, ax
push eax
lea ecx, [esp + 0xb0]
push ecx
lea edx, [esp + 0x3e4]
push edx
call fcn.004575f0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x47
call fcn.004023f0
mov eax, dword [esp + 0x3f8]
push eax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x3f0], edi
jb 0x45be24
mov ecx, dword [esp + 0x3dc]
push ecx
call fcn.00584768
add esp, 4
xor edx, edx
lea ecx, [esp + 0xac]
mov dword [esp + 0x3f0], ebp
mov dword [esp + 0x3ec], ebx
mov word [esp + 0x3dc], dx
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
mov dword [esp + 0x14], esi
call fcn.00420510
mov dword [esp + 0xd4], eax
mov byte [esp + 0x76c], 0x48
call fcn.00420510
mov dword [esp + 0xd8], eax
mov byte [esp + 0x76c], 0x49
call fcn.00420510
mov dword [esp + 0xdc], eax
lea eax, [esp + 0x208]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ebx
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
push 1
mov byte [esp + 0x774], 0x4a
call fcn.00469600
movzx edx, ax
push edx
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x42c]
push ecx
call fcn.004575f0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x4b
call fcn.004023f0
mov edx, dword [esp + 0x440]
push edx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x438], edi
jb 0x45bf23
mov eax, dword [esp + 0x424]
push eax
call fcn.00584768
add esp, 4
xor ecx, ecx
mov word [esp + 0x424], cx
lea ecx, [esp + 0xd4]
mov dword [esp + 0x438], ebp
mov dword [esp + 0x434], ebx
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
mov dword [esp + 0x14], esi
call fcn.00420510
mov dword [esp + 0xfc], eax
mov byte [esp + 0x76c], 0x4c
call fcn.00420510
mov dword [esp + 0x100], eax
mov byte [esp + 0x76c], 0x4d
call fcn.00420510
lea edx, [esp + 0x208]
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], edx
mov dword [esp + 0x10c], ebx
mov byte [esp + 0x76c], 0x4e
cmp word [esp + 0x40], bp
jne 0x45bfc5
lea ecx, [esp + 0x28]
call fcn.00467400
movzx eax, word [esp + 0x40]
push eax
lea eax, [esp + 0x100]
push eax
lea ecx, [esp + 0x474]
push ecx
call fcn.004575c0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x4f
call fcn.004023f0
mov edx, dword [esp + 0x488]
push edx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x480], edi
jb 0x45c024
mov eax, dword [esp + 0x46c]
push eax
call fcn.00584768
add esp, 4
xor ecx, ecx
mov word [esp + 0x46c], cx
lea ecx, [esp + 0xfc]
mov dword [esp + 0x480], ebp
mov dword [esp + 0x47c], ebx
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
push 0x5fe3ac
lea ecx, [esp + 0x6d4]
mov dword [esp + 0x18], esi
call fcn.00402c90
lea edx, [esp + 0x274]
push edx
lea eax, [esp + 0x6d4]
push eax
lea ecx, [esp + 0x4bc]
push ecx
mov byte [esp + 0x778], 0x50
call fcn.00467a60
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x51
call fcn.004023f0
mov edx, dword [esp + 0x4d0]
push edx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x4c8], edi
jb 0x45c0df
mov eax, dword [esp + 0x4b4]
push eax
call fcn.00584768
add esp, 4
mov edx, dword [esp + 0x6ec]
xor ecx, ecx
push edx
mov dword [esp + 0x4cc], ebp
mov dword [esp + 0x4c8], ebx
mov word [esp + 0x4b8], cx
mov byte [esp + 0x770], 3
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x6e4], edi
jb 0x45c579
mov eax, dword [esp + 0x6d0]
push eax
call fcn.00584768
mov esi, dword [esp + 0x18]
add esp, 4
add esi, 2
mov edi, 8
jmp 0x45a83f
mov dword [esp + 0x14], esi
call fcn.00420510
mov dword [esp + 0x124], eax
mov byte [esp + 0x76c], 0x52
call fcn.00420510
mov dword [esp + 0x128], eax
mov byte [esp + 0x76c], 0x53
call fcn.00420510
lea ecx, [esp + 0x208]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], ebx
mov ecx, dword [esp + 0x38]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
push ecx
lea ecx, [esp + 0x128]
push ecx
lea edx, [esp + 0x504]
push edx
mov byte [esp + 0x778], 0x54
call fcn.004575c0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x55
call fcn.004023f0
mov eax, dword [esp + 0x518]
push eax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x510], edi
jb 0x45c206
mov ecx, dword [esp + 0x4fc]
push ecx
call fcn.00584768
add esp, 4
xor edx, edx
lea ecx, [esp + 0x124]
mov dword [esp + 0x510], ebp
mov dword [esp + 0x50c], ebx
mov word [esp + 0x4fc], dx
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
mov dword [esp + 0x14], esi
call fcn.00420510
mov dword [esp + 0x14c], eax
mov byte [esp + 0x76c], 0x56
call fcn.00420510
mov dword [esp + 0x150], eax
mov byte [esp + 0x76c], 0x57
call fcn.00420510
mov dword [esp + 0x154], eax
lea eax, [esp + 0x208]
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], ebx
mov ecx, dword [esp + 0x38]
push ecx
lea edx, [esp + 0x150]
push edx
lea eax, [esp + 0x54c]
push eax
mov byte [esp + 0x778], 0x58
call fcn.004575c0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x59
call fcn.004023f0
mov ecx, dword [esp + 0x560]
push ecx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x558], edi
jb 0x45c2f6
mov edx, dword [esp + 0x544]
push edx
call fcn.00584768
add esp, 4
xor eax, eax
lea ecx, [esp + 0x14c]
mov dword [esp + 0x558], ebp
mov dword [esp + 0x554], ebx
mov word [esp + 0x544], ax
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
call fcn.004674a0
mov esi, eax
call fcn.00447600
neg eax
cmp esi, eax
jne 0x45c363
mov ecx, dword [esp + 0x18]
push 1
call fcn.0046a090
cmp eax, 1
jne 0x45c363
add esi, 0xe10
lea ecx, [esp + 0x22c]
cmp esi, ebx
jge 0x45c37d
mov eax, 0x2d
push eax
call fcn.00414690
neg esi
jmp 0x45c388
mov eax, 0x2b
push eax
call fcn.00414690
call fcn.00420510
mov dword [esp + 0x174], eax
mov byte [esp + 0x76c], 0x5a
call fcn.00420510
mov dword [esp + 0x178], eax
mov byte [esp + 0x76c], 0x5b
call fcn.00420510
lea ecx, [esp + 0x208]
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], ebx
mov eax, 0x91a2b3c5
imul esi
add edx, esi
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x88888889
imul ecx, ecx, 0x64
imul esi
add edx, esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov esi, 0x3c
idiv esi
lea eax, [esp + 0x58c]
mov byte [esp + 0x76c], 0x5c
add ecx, edx
push ecx
lea edx, [esp + 0x178]
push edx
push eax
call fcn.004575c0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x5d
call fcn.004023f0
mov ecx, dword [esp + 0x5a8]
push ecx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x5a0], edi
jb 0x45c466
mov edx, dword [esp + 0x58c]
push edx
call fcn.00584768
add esp, 4
xor eax, eax
lea ecx, [esp + 0x174]
mov dword [esp + 0x5a0], ebp
mov dword [esp + 0x59c], ebx
mov word [esp + 0x58c], ax
mov byte [esp + 0x76c], 3
call fcn.004020c0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
push 0x5fef70
lea ecx, [esp + 0x740]
mov dword [esp + 0x18], esi
call fcn.00402c90
lea ecx, [esp + 0x274]
push ecx
lea edx, [esp + 0x740]
push edx
lea eax, [esp + 0x5dc]
push eax
mov byte [esp + 0x778], 0x5e
call fcn.00467a60
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x778], 0x5f
call fcn.004023f0
mov ecx, dword [esp + 0x5f0]
push ecx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x5e8], edi
jb 0x45c521
mov edx, dword [esp + 0x5d4]
push edx
call fcn.00584768
add esp, 4
xor eax, eax
lea ecx, [esp + 0x73c]
mov dword [esp + 0x5e8], ebp
mov dword [esp + 0x5e4], ebx
mov word [esp + 0x5d4], ax
mov byte [esp + 0x76c], 3
call fcn.00405eb0
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
mov eax, 0x25
jmp 0x45c568
movzx eax, word [esi]
mov dword [esp + 0x14], esi
push eax
lea ecx, [esp + 0x230]
call fcn.00414690
mov esi, dword [esp + 0x14]
add esi, 2
mov edi, 8
jmp 0x45a83f
push 0xffffffffffffffff
xor ecx, ecx
mov esi, 7
mov dword [ebp + 0x14], esi
mov dword [ebp + 0x10], ebx
push ebx
lea edx, [esp + 0x234]
mov word [ebp], cx
push edx
mov ecx, ebp
call fcn.00402610
mov eax, dword [esp + 0x224]
push eax
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x20], ebx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x21c], edi
jb 0x45c5dc
mov ecx, dword [esp + 0x208]
push ecx
call fcn.00584768
add esp, 4
mov eax, dword [esp + 0x248]
xor edx, edx
push eax
mov dword [esp + 0x220], esi
mov dword [esp + 0x21c], ebx
mov word [esp + 0x20c], dx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x240], edi
jb 0x45c61d
mov ecx, dword [esp + 0x22c]
push ecx
call fcn.00584768
add esp, 4
xor edx, edx
push ebx
mov dword [esp + 0x244], esi
mov dword [esp + 0x240], ebx
mov word [esp + 0x230], dx
call fcn.005844d1
mov eax, dword [esp + 0x270]
push eax
call fcn.005844d1
add esp, 8
cmp dword [esp + 0x264], edi
jb 0x45c664
mov ecx, dword [esp + 0x250]
push ecx
call fcn.00584768
add esp, 4
mov eax, ebp
jmp 0x45c678
mov edx, dword [0x68a280]
push edx
mov ecx, esi
call fcn.00402c90
mov eax, esi
mov ecx, dword [esp + 0x764]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x74c]
xor ecx, esp
call fcn.00585b7b
add esp, 0x75c
ret 0xc