Function at 0x481a20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x37c
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x804]
xor ebx, ebx
cmp eax, ebx
push edi
mov dword [esp + 0x68], ebx
je 0x481a84
mov ecx, dword [esi + 0x7fc]
call fcn.0041d440
test eax, eax
je 0x481a84
lea edi, [esi + 0x24]
mov ecx, edi
call fcn.00456370
test eax, eax
jne 0x481a84
mov ecx, edi
mov dword [esi + 0x804], ebx
call fcn.004568c0
test eax, eax
je 0x481a84
mov ecx, esi
call fcn.0047e8f0
cmp eax, ebx
mov dword [esi + 0x804], ebx
je 0x48586c
cmp dword [esi + 0x560], ebx
jne 0x481ab1
mov eax, dword [esi + 0x554]
cmp dword [eax + 4], ebx
jne 0x481ab1
mov ecx, dword [esi + 0x54c]
cmp dword [ecx + 4], ebx
jne 0x481ab1
mov edx, dword [esi + 0x550]
cmp dword [edx + 4], ebx
je 0x48586c
cmp dword [esi + 0x7b8], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0x6c], ebx
je 0x48586c
cmp dword [esi + 0x718], ebx
jne 0x48586c
mov eax, dword [esi + 0x79c]
cmp eax, ebx
jle 0x481af0
cmp dword [ebp + 8], ebx
je 0x48586c
cmp eax, ebx
jne 0x481b03
call dword [0x5f6554]
and eax, 0x7fffffff
mov dword [esi + 0x894], eax
mov edi, dword [esi + 0x79c]
mov edx, dword [esi + 0x7a4]
inc edi
mov eax, edi
inc edx
cmp eax, 0x100
mov dword [esi + 0x79c], edi
mov dword [esi + 0x7a4], edx
jl 0x481b4f
push ebx
push ebx
push 1
lea ecx, [esi + 0x24]
call fcn.00457f20
mov eax, dword [esi]
push 0x9d
push 3
push esi
call dword [eax + 0xe0]
add esp, 0xc
mov dword [esi + 0x718], 1
cmp dword [esi + 0x560], ebx
jne 0x481b9e
mov eax, dword [esi + 0x1c]
push ebx
push eax
push 0x50
call fcn.005dd390
add esp, 0xc
cmp eax, ebx
je 0x48586c
push esi
mov ecx, eax
call fcn.00478f10
mov edi, eax
cmp edi, ebx
je 0x48586c
mov byte [edi + 0x3d], bl
mov ecx, dword [esi + 0x554]
push ecx
lea ecx, [edi + 0xc]
call fcn.00479180
push edi
lea ecx, [esi + 0x15c]
call fcn.00477760
mov edx, dword [esi + 0x560]
mov dword [esp + 0x2c], 2
mov edi, dword [edx + 8]
mov ecx, esi
mov dword [esp + 0xd4], edi
call fcn.004bd510
push 0x405be0
push 4
push 4
lea eax, [esp + 0x338]
push eax
mov dword [esp + 0x10c], 4
call fcn.00401000
lea ecx, [esi + 0x24]
call fcn.00456360
cmp dword [esi + 0x560], edi
je 0x485717
jmp 0x481c00
mov ecx, esi
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x154], ebx
call fcn.004bd510
mov eax, dword [esi + 0x560]
mov cl, byte [eax + 0x3b]
cmp cl, bl
mov edi, dword [eax + 0xc]
mov dword [esp + 0x10], eax
mov dword [esp + 0x80], edi
jbe 0x481c41
movzx ecx, cl
mov dword [esp + 0xfc], ecx
mov eax, dword [eax + 0x18]
cmp eax, ebx
je 0x481c54
mov edx, dword [eax + 0x48]
push edx
lea ecx, [esi + 0x24]
call fcn.00456310
lea ecx, [esi + 0x24]
call fcn.00456370
test eax, eax
jne 0x481c6d
lea eax, [esp + 0x32c]
mov dword [esi + 0x818], eax
cmp dword [edi + 4], ebx
je 0x48561d
jmp 0x481c80
cmp dword [esi + 0x718], ebx
jne 0x485717
mov ecx, esi
call fcn.004bd510
test eax, eax
jne 0x4855dc
mov ecx, dword [esp + 0x80]
mov edi, dword [ecx + 4]
mov eax, dword [edi + 0x14]
cmp eax, ebx
mov dword [esp + 0x64], edi
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xdc], ebx
mov byte [esp + 0xe8], bl
je 0x481cfe
mov eax, dword [eax + 0x2c]
mov ecx, dword [eax + 0x210]
cmp ecx, ebx
je 0x481ce9
mov edx, dword [edi + 0x14]
mov eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [edx + 0x2c]
push edi
push eax
jmp 0x481d11
mov ecx, eax
call fcn.004a0d20
mov edx, dword [edi + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [edx + 0x2c]
push edi
push eax
jmp 0x481d11
mov ecx, esi
call fcn.004b4e00
mov ecx, dword [esi + 0x584]
push edi
mov dword [esp + 0x28], eax
push ecx
lea ecx, [esp + 0xe4]
push esi
call fcn.004802e0
mov eax, dword [esp + 0x24]
cmp eax, 5
mov ecx, dword [esp + 0x10]
mov byte [ecx + 0x39], al
jge 0x481d37
cmp byte [ecx + 0x3a], bl
jne 0x481d37
mov al, 1
jmp 0x481d39
xor al, al
mov edx, dword [esp + 0x10]
mov byte [edx + 0x38], al
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
add ecx, eax
push ecx
lea ecx, [esi + 0x24]
call fcn.00457cd0
mov dword [esp + 0x288], eax
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x481e12
mov ecx, dword [edi + 0x14]
cmp ecx, ebx
mov dword [esp + 0xc], ecx
je 0x481e12
push eax
lea eax, [esp + 0xcc]
push eax
mov ecx, esi
call fcn.004b9a20
mov eax, dword [edi + 0x18]
push eax
call fcn.004d97d0
add esp, 4
test eax, eax
je 0x481dcb
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0xb4]
push edx
lea ecx, [esp + 0x30]
call fcn.00476860
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xc]
push ebx
push 1
lea eax, [esp + 0x34]
push eax
mov eax, dword [edx + 0xb4]
push ecx
push eax
mov ecx, esi
call fcn.004c6890
jmp 0x481e0b
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0xb4]
push ebx
push 1
push ebx
push ebx
push ebx
push ebx
push ecx
push eax
push edx
mov ecx, esi
call fcn.004b7f90
mov eax, dword [esi + 0x6e0]
cmp eax, ebx
jbe 0x481e0b
mov ecx, dword [esi + 0x6e8]
dec eax
mov dword [esi + 0x6e0], eax
mov dword [ecx + eax*4], 2
mov dword [esp + 0xc8], ebx
cmp dword [edi + 0xc], ebx
jne 0x481e3e
mov edx, dword [esp + 0x80]
cmp edx, dword [esi + 0x550]
jne 0x481e35
mov eax, dword [edi + 0x14]
cmp eax, ebx
je 0x481e35
push eax
mov ecx, esi
call fcn.004bfcf0
cmp dword [edi + 0xc], ebx
je 0x482131
mov eax, dword [edi + 0x1c]
push eax
push esi
lea ecx, [esp + 0x37c]
call fcn.00487db0
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x18], ebx
mov eax, ecx
jne 0x481eb9
cmp byte [eax + 0x3c], bl
je 0x481eb9
mov ecx, eax
call fcn.0047aa50
mov eax, dword [edi + 0x14]
cmp eax, ebx
mov dword [esp + 0xc], eax
je 0x481ea4
mov edx, eax
push edx
lea ecx, [esp + 0x118]
call fcn.00476840
mov eax, dword [esp + 0x114]
mov ecx, dword [esi + 0xcfc]
mov edx, dword [esp + 0x10]
push 1
push eax
push ecx
mov ecx, dword [edx + 0x18]
call fcn.004aa230
mov dword [esp + 0x114], ebx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
push eax
add ecx, 0x14
call fcn.00479180
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x3a], bl
jne 0x481f24
cmp dword [esp + 0xac], ebx
je 0x481ecc
cmp dword [eax + 0x28], ebx
jne 0x481f24
mov ecx, dword [eax + 0x28]
add eax, 0x28
cmp ecx, ebx
jne 0x481f24
push ebx
push ebx
push ebx
push 1
mov ecx, esi
call fcn.004bf250
push eax
call fcn.004a87f0
mov ecx, dword [edi + 0x14]
add esp, 0x10
cmp ecx, ebx
je 0x481f04
mov ecx, dword [ecx + 0xb4]
push ebx
push ebx
push eax
push ecx
call fcn.004a87f0
add esp, 0x10
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x18]
push ebx
push ebx
push eax
push ecx
call fcn.004a87f0
mov ecx, dword [esp + 0x20]
add esp, 0x10
push eax
add ecx, 0x28
call fcn.00536500
mov edx, dword [edi + 0x28]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
push edx
push eax
push ecx
lea ecx, [esp + 0x48]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], 0x7fffffff
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov byte [esp + 0x68], bl
call fcn.0049c9d0
cmp dword [esp + 0xc0], ebx
jne 0x481f92
mov eax, dword [esp + 0x10]
mov byte [eax + 0x3e], bl
mov ecx, dword [eax + 0x10]
add eax, 0x10
cmp ecx, ebx
jne 0x481f86
mov dword [eax], ebx
jmp 0x481f99
push ebx
push eax
call fcn.005dc9a0
add esp, 8
jmp 0x481f99
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x1f], bl
mov edx, dword [edi]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
add edx, ecx
add eax, 0x2c
mov dword [esi + 0xcb0], edx
mov edi, dword [eax]
cmp edi, ebx
je 0x48209d
cmp dword [edi + 0x20], ebx
je 0x482017
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
add eax, ecx
cmp edx, dword [edi + 0x28]
jne 0x482017
cmp eax, dword [edi + 0x10]
jb 0x481fe1
cmp eax, dword [edi + 0x14]
jb 0x482017
mov ecx, dword [edi + 0x2c]
lea eax, [edx + 0x2c]
cmp dword [eax], ecx
jne 0x481ff3
cmp ecx, ebx
jne 0x481ff3
mov dword [eax], ebx
jmp 0x481ffd
push ecx
push eax
call fcn.005dc9a0
add esp, 8
mov ecx, dword [edi + 0x24]
mov dword [esi + 0x734], ecx
mov dword [edi + 0x30], ebx
push edi
and edi, 0xfffff000
mov ecx, dword [edi]
call fcn.005dbb70
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x2c]
add eax, 0x2c
cmp ecx, ebx
je 0x48209d
mov eax, dword [esi + 0x734]
cmp eax, ebx
jne 0x4820ab
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
add eax, edx
mov dword [esp + 0x18], eax
lea ecx, [ecx]
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x2c]
mov eax, dword [edi + 0x20]
add ecx, 0x2c
cmp eax, ebx
jne 0x48209d
mov eax, dword [esp + 0x18]
cmp eax, dword [edi]
jb 0x48205e
cmp eax, dword [edi + 4]
jb 0x48209d
mov eax, dword [edi + 0x2c]
cmp dword [ecx], eax
jne 0x48206d
cmp eax, ebx
jne 0x48206d
mov dword [ecx], ebx
jmp 0x48207e
push eax
mov eax, dword [esp + 0x14]
add eax, 0x2c
push eax
call fcn.005dc9a0
add esp, 8
mov dword [edi + 0x30], ebx
push edi
and edi, 0xfffff000
mov ecx, dword [edi]
call fcn.005dbb70
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x2c]
add eax, 0x2c
cmp ecx, ebx
jne 0x482040
mov eax, dword [esi + 0x734]
cmp eax, ebx
je 0x482414
cmp eax, 2
mov eax, dword [esp + 0x10]
jne 0x482231
mov ecx, dword [eax + 0x2c]
add eax, 0x2c
cmp ecx, ebx
je 0x482117
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x2c]
mov ecx, dword [edi + 0x10]
add eax, 0x2c
cmp ecx, ebx
mov dword [esp + 0xc], eax
jne 0x48210d
mov ecx, dword [edi + 0x2c]
mov edx, edi
cmp edx, ecx
jne 0x4820e8
cmp ecx, ebx
jne 0x4820e8
mov dword [eax], ebx
jmp 0x4820f2
push ecx
push eax
call fcn.005dc9a0
add esp, 8
mov dword [edi + 0x30], ebx
push edi
and edi, 0xfffff000
mov ecx, dword [edi]
call fcn.005dbb70
mov ecx, dword [esp + 0xc]
cmp dword [ecx], ebx
jne 0x4820c2
mov eax, ecx
mov edi, dword [eax]
cmp edi, ebx
jne 0x48223f
mov dword [esp + 0x6c], 1
mov dword [esi + 0x734], ebx
lea ecx, [esp + 0x374]
call fcn.00486950
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x482166
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x3a], bl
jne 0x482166
mov eax, dword [esi + 0x6e0]
cmp eax, ebx
jbe 0x482160
mov edx, dword [esi + 0x6e8]
dec eax
mov dword [esi + 0x6e0], eax
mov dword [edx + eax*4], 2
xor eax, eax
mov dword [esp + 0x6c], eax
cmp dword [esp + 0x8c], ebx
jne 0x4855e9
cmp dword [esi + 0x718], ebx
jne 0x4855e9
cmp eax, ebx
jne 0x4855e9
cmp dword [esp + 0x94], ebx
jne 0x4855e9
mov eax, dword [esp + 0x10]
add eax, 0x28
mov ecx, eax
and ecx, 0xfffff000
mov edi, dword [ecx]
push ebx
push eax
push eax
mov ecx, edi
call fcn.004251d0
push eax
mov ecx, edi
call fcn.005dc8d0
mov ecx, dword [esp + 0x80]
call fcn.0047dde0
cmp dword [esi + 0x734], 1
mov edi, dword [esp + 0x10]
jne 0x4821dc
cmp byte [edi + 0x3a], bl
jne 0x4821e8
mov ecx, esi
call fcn.00480120
cmp byte [edi + 0x3a], bl
jne 0x4821e8
mov ecx, edi
call fcn.0047aaa0
cmp byte [esp + 0xe8], bl
je 0x48221c
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov dword [eax + 0xc70], edx
mov dword [eax + 0xc74], ecx
mov dword [eax + 0xcb0], 0xffffffff
mov edx, dword [esp + 0x80]
cmp dword [edx + 4], ebx
jne 0x481c80
jmp 0x48561d
mov edi, dword [eax + 0x2c]
add eax, 0x2c
cmp edi, ebx
je 0x482125
mov eax, dword [edi + 8]
cmp eax, ebx
je 0x482379
cmp dword [esi + 0x734], 1
jne 0x482379
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x64]
sub eax, ecx
mov ecx, dword [edx]
add ecx, eax
mov dword [esi + 0xcb0], ecx
push ebx
mov ecx, esi
mov dword [esp + 0x44], eax
call fcn.004b5240
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x704]
cmp eax, ebx
jbe 0x4822a2
mov edx, dword [esi + 0x70c]
dec eax
mov dword [esi + 0x704], eax
mov ecx, dword [edx + eax*4]
lea eax, [edx + eax*4]
mov dword [eax], 2
mov eax, ecx
jmp 0x4822a7
mov eax, 2
mov ecx, dword [edi + 0x1c]
cmp ecx, ebx
jl 0x4822d4
cmp ecx, dword [esp + 0xfc]
jge 0x4822e3
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x3b], bl
jbe 0x4822cb
push eax
push ecx
mov ecx, edx
call fcn.00480260
jmp 0x4822e3
mov dword [esp + ecx*4 + 0x32c], eax
jmp 0x4822e3
mov ecx, dword [esp + 0xc]
push ebx
push eax
mov eax, dword [edi + 0x30]
push eax
call fcn.004aa230
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [edi + 8]
push ecx
add eax, 0x28
mov eax, dword [eax]
push edx
push eax
mov eax, dword [esp + 0x18]
push eax
call fcn.004a87f0
mov edx, dword [esp + 0x20]
add edx, 0x28
add esp, 0x10
mov ecx, edx
push eax
and ecx, 0xfffff000
mov ecx, dword [ecx]
push edx
push edx
mov dword [esp + 0x24], ecx
call fcn.004251d0
mov ecx, dword [esp + 0x20]
push eax
call fcn.005dc8d0
cmp dword [edi + 0x10], ebx
je 0x482344
mov edx, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov dword [edi], edx
mov dword [edi + 4], eax
mov dword [edi + 0xc], ebx
mov dword [edi + 8], ebx
jmp 0x48240e
mov ecx, dword [edi + 0x18]
push ecx
lea ecx, [esi + 0x6c8]
call fcn.0047e670
mov edx, dword [edi + 0x2c]
mov ecx, dword [esp + 0x10]
push edx
add ecx, 0x2c
call fcn.00479180
mov dword [edi + 0x30], ebx
push edi
and edi, 0xfffff000
mov ecx, dword [edi]
call fcn.005dbb70
jmp 0x48240e
cmp dword [edi + 0x20], ebx
jne 0x482414
cmp dword [edi + 0x10], ebx
je 0x482414
cmp dword [esi + 0x734], 2
jne 0x4823b4
lea eax, [esp + 0x1c4]
push eax
lea ecx, [esi + 0x6c8]
call fcn.0040de60
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c4], ebx
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x64]
sub eax, ecx
mov ecx, dword [edx]
add ecx, eax
mov dword [esi + 0xcb0], ecx
mov dword [esp + 0x40], eax
mov edx, dword [edi + 0x18]
lea ecx, [esi + 0x6c8]
push edx
call fcn.0047e670
cmp dword [esi + 0x734], 2
jne 0x4823f7
mov eax, dword [esp + 0x2c]
push eax
lea ecx, [esi + 0x6c8]
call fcn.00415070
mov ecx, dword [esp + 0x10]
mov dword [edi + 0x20], 1
mov dword [edi + 0x28], ecx
mov edx, dword [esi + 0x734]
mov dword [edi + 0x24], edx
mov dword [esi + 0x734], ebx
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x28]
mov eax, dword [ecx + 0x10]
add edi, 0x28
cmp eax, ebx
mov dword [esp + 0x28], edi
je 0x48245e
cmp dword [ecx + 0x14], ebx
je 0x48245e
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
add edx, eax
push edx
call fcn.004a1210
push eax
mov ecx, edi
and ecx, 0xfffff000
mov ecx, dword [ecx]
push edi
push edi
mov dword [esp + 0x24], ecx
call fcn.004251d0
mov ecx, dword [esp + 0x20]
push eax
call fcn.005dc8d0
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
lea edi, [edx + eax]
mov edx, dword [esp + 0x64]
mov eax, dword [edx + 0x14]
xor ecx, ecx
cmp eax, ebx
mov dword [esp + 0x14], ecx
je 0x482481
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x14], ecx
cmp ecx, ebx
mov eax, dword [esp + 0x288]
mov dword [esp + 0x38], eax
je 0x4824f4
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x20]
cmp eax, ebx
mov dword [esp + 0xc], eax
je 0x4824d6
mov ecx, eax
mov edx, dword [ecx]
call dword [edx + 4]
test al, al
je 0x4824d6
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x4c]
cmp dword [eax + 0x1c], ebx
jne 0x4824d6
mov eax, dword [ecx + 0x78]
cmp eax, ebx
je 0x4824d6
mov eax, dword [eax]
cmp eax, ebx
je 0x4824d6
mov edi, dword [ecx + 0x7c]
mov dword [esp + 0x14], eax
add edi, dword [esp + 0x40]
mov dword [esp + 0x38], 1
mov ecx, dword [esp + 0x14]
cmp ecx, ebx
je 0x4824f4
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x40], bl
je 0x4824ef
cmp byte [eax + 0x3d], bl
je 0x4824ef
add edi, dword [eax + 0x44]
mov ecx, dword [ecx + 4]
jmp 0x4824f8
mov ecx, dword [esp + 0x3c]
mov eax, edi
sub eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x7a8], eax
mov dword [ecx + 0x48], eax
mov ecx, dword [esi + 0x7fc]
call fcn.0041d440
cmp dword [esp + 0x38], ebx
je 0x482585
cmp dword [esp + 0x14], ebx
je 0x482585
cmp eax, ebx
je 0x482585
lea edi, [esi + 0x24]
mov ecx, edi
call fcn.004568b0
test eax, eax
je 0x482585
mov ecx, edi
call fcn.00456370
test eax, eax
jne 0x482585
mov edx, dword [esp + 0x40]
cmp edx, dword [esp + 0x44]
jge 0x482585
mov eax, dword [esp + 0x3c]
cmp eax, ebx
je 0x482585
mov ecx, edx
cmp byte [ecx + eax], bl
je 0x482585
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x7a4]
mov ecx, dword [esi + 0x7a8]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.004ad880
test eax, eax
je 0x482585
mov ecx, esi
call fcn.0047e8f0
test eax, eax
je 0x485875
cmp dword [esi + 0x718], ebx
jne 0x482125
mov eax, dword [esp + 0x44]
cmp eax, 0xffffffff
mov ecx, dword [esp + 0x40]
je 0x4825a6
cmp ecx, eax
jge 0x482125
mov edx, dword [esp + 0x3c]
mov al, byte [ecx + edx]
inc ecx
cmp al, bl
mov byte [esp + 0x1e], al
mov dword [esp + 0x40], ecx
je 0x482125
mov edx, dword [esp + 0x80]
mov edx, dword [edx + 4]
mov edi, dword [edx + 0x14]
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x3a], bl
mov dword [esp + 0xc], edi
jne 0x482629
cmp edi, ebx
je 0x482629
add edx, 0x14
cmp edi, dword [edx]
je 0x482629
push edi
lea ecx, [esp + 0xf0]
call fcn.00476840
mov eax, dword [esp + 0xec]
mov ecx, dword [esi + 0xcfc]
mov edx, dword [esp + 0x10]
push 1
push eax
push ecx
mov ecx, dword [edx + 0x18]
call fcn.004aa230
mov ecx, dword [esp + 0x10]
push edi
add ecx, 0x14
mov dword [esp + 0xf0], ebx
call fcn.00479180
mov ecx, dword [esp + 0x40]
mov al, byte [esp + 0x1e]
xor edi, edi
test al, al
jns 0x482645
mov eax, dword [esp + 0x3c]
add eax, ecx
add ecx, 2
xor edx, edx
mov dword [esp + 0x40], ecx
mov dh, byte [eax + 1]
mov dl, byte [eax]
mov edi, edx
mov eax, dword [esp + 0xa0]
add edi, ecx
cmp eax, ebx
mov dword [esp + 0x20], edi
jle 0x482663
dec eax
mov dword [esp + 0xa0], eax
jmp 0x485584
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x3e], bl
mov edx, eax
je 0x482673
mov edi, dword [edx + 0x10]
jmp 0x482677
mov edi, dword [esp + 0xc]
cmp edi, ebx
mov dword [esp + 0x18], edi
je 0x4826c8
mov eax, dword [esp + 0x68]
mov ecx, dword [edi + 0xc8]
or eax, 1
mov dword [esp + 0x68], eax
mov eax, ecx
and eax, 7
cmp eax, 7
jne 0x4826a5
and ecx, 0xfffffff8
mov ecx, dword [ecx + 0xc]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x4826af
and ecx, 0x1f
mov eax, ecx
cmp eax, 0xa
je 0x4826c8
mov al, byte [esp + 0x1f]
cmp al, 0x4e
je 0x4826c8
cmp al, 0x96
je 0x4826c8
cmp al, 0x1c
je 0x4826c8
mov al, 1
jmp 0x4826ca
xor al, al
test byte [esp + 0x68], 1
je 0x4826d6
and dword [esp + 0x68], 0xfffffffe
cmp al, bl
je 0x4826f6
lea ecx, [esp + 0x60]
push ecx
lea ecx, [edi + 0xc8]
mov dword [esp + 0x64], 0xa
call fcn.00425280
mov edx, dword [esp + 0x10]
movzx eax, byte [esp + 0x1e]
add eax, 0xfffffffc
cmp eax, 0x9b
ja case.0x482710.22
movzx eax, byte [eax + 0x485a1c]
jmp dword [eax*4 + 0x4858ac]
cmp edi, ebx
je case.0x482710.22
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea eax, [ecx + edx]
add ecx, 2
mov dword [esp + 0x40], ecx
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax]
push ecx
mov ecx, edi
call fcn.004ad820
jmp case.0x482710.22
cmp edi, ebx
je case.0x482710.22
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
push ebx
push ebx
add edx, eax
push edx
mov ecx, edi
call fcn.004a0690
cmp eax, ebx
jl case.0x482710.22
push eax
mov ecx, edi
call fcn.004ad820
jmp case.0x482710.22
cmp edi, ebx
je case.0x482710.22
mov ecx, dword [edi + 0x40]
inc ecx
push ecx
mov ecx, edi
call fcn.004ad820
jmp case.0x482710.22
cmp edi, ebx
je case.0x482710.22
mov edx, dword [edi + 0x40]
dec edx
push edx
mov ecx, edi
call fcn.004ad820
jmp case.0x482710.22
cmp edi, ebx
je case.0x482710.22
push 1
mov ecx, edi
call fcn.004af050
jmp case.0x482710.22
cmp edi, ebx
je case.0x482710.22
mov ecx, edi
call fcn.004a71f0
jmp case.0x482710.22
cmp edi, ebx
je case.0x482710.22
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
add eax, ecx
add ecx, 2
mov dword [esp + 0x40], ecx
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax]
mov eax, dword [edi + 0x2c]
cmp dword [eax + 0x1e8], edx
jge case.0x482710.22
mov edx, dword [esp + 0x3c]
mov al, byte [ecx + edx]
movzx eax, al
inc ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0xa0], eax
jmp case.0x482710.22
push edi
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
call fcn.0047eb40
jmp case.0x482710.22
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
push edx
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call fcn.004803b0
jmp case.0x482710.22
mov edx, dword [esi + 0x864]
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + 8]
push esi
push edx
call fcn.0048a8d0
jmp case.0x482710.22
mov eax, dword [esi + 0x654]
xor ecx, ecx
cmp eax, 2
sete cl
push 2
mov dword [esi + 0x658], ebx
dec ecx
and ecx, 2
mov dword [esi + 0x654], ecx
mov ecx, esi
call fcn.004c7fc0
jmp case.0x482710.22
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
push edx
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call fcn.00481560
jmp case.0x482710.22
mov edx, dword [esp + 0x10]
push edx
mov ecx, esi
call fcn.004816b0
push ebx
push ebx
push 5
lea ecx, [esi + 0x24]
call fcn.00457f20
jmp case.0x482710.22
mov ecx, esi
call fcn.0047fe40
jmp case.0x482710.22
mov ecx, esi
call fcn.0047ffa0
jmp case.0x482710.22
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov al, byte [edi + ecx]
inc edi
mov dword [esp + 0x40], edi
cmp dword [edx + 0x4c], ebx
mov byte [esp + 0x1f], al
je 0x482980
cmp al, byte [edx + 0x3b]
jae case.0x482710.22
mov eax, dword [esp + 0x20]
cmp byte [eax + ecx], 0x17
jne 0x48294b
lea ecx, [esp + 0x2a0]
push ecx
lea ecx, [esi + 0x6c8]
call fcn.0040de60
mov eax, dword [eax]
movzx edx, byte [esp + 0x1f]
mov ecx, dword [esp + 0x10]
push eax
push edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x2a8], ebx
call fcn.00480260
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
jmp case.0x482710.22
lea eax, [esp + 0x328]
push eax
lea ecx, [esi + 0x6c8]
call fcn.0047ea00
mov eax, dword [eax]
movzx ecx, byte [esp + 0x1f]
push eax
push ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov dword [esp + 0x330], ebx
call fcn.00480260
jmp case.0x482710.22
cmp al, 4
jae case.0x482710.22
mov edx, dword [esp + 0x20]
cmp byte [edx + ecx], 0x17
lea ecx, [esi + 0x6c8]
jne 0x4829c8
lea eax, [esp + 0x33c]
push eax
call fcn.0040de60
mov edx, dword [eax]
mov eax, dword [esp + 0x20]
movzx ecx, byte [esp + 0x1f]
inc eax
mov dword [esp + ecx*4 + 0x32c], edx
mov dword [esp + 0x33c], ebx
mov dword [esp + 0x20], eax
jmp case.0x482710.22
lea eax, [esp + 0x310]
push eax
call fcn.0047ea00
movzx ecx, byte [esp + 0x1f]
mov edx, dword [eax]
mov dword [esp + ecx*4 + 0x32c], edx
mov dword [esp + 0x310], ebx
jmp case.0x482710.22
lea eax, [esp + 0x2d4]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
lea ecx, [esp + 0x194]
push ecx
mov ecx, edi
mov dword [esp + 0x1c], eax
call fcn.0040de60
mov edx, dword [esp + 0x18]
push esi
mov dword [esp + 0x64], eax
mov eax, dword [edx]
push ebx
push eax
mov ecx, esi
call fcn.00405cb0
fstp qword [esp + 0x34]
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx]
push ebx
push edx
mov ecx, esi
call fcn.00405cb0
fadd qword [esp + 0x34]
sub esp, 8
lea ecx, [esp + 0x138]
fstp qword [esp]
call fcn.0040c8b0
mov eax, dword [edi + 0x18]
mov edx, dword [esp + 0x12c]
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x2d4], ebx
mov dword [esp + 0x194], ebx
mov dword [ecx + eax*4], edx
inc dword [edi + 0x18]
mov dword [esp + 0x12c], ebx
jmp case.0x482710.22
lea eax, [esp + 0x19c]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [eax]
push 1
push ecx
lea edx, [esp + 0x274]
push edx
mov ecx, esi
call fcn.00480190
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x26c], ebx
mov dword [esp + 0x19c], ebx
jmp case.0x482710.22
lea eax, [esp + 0x1a4]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [eax]
push 0xffffffffffffffff
push ecx
lea edx, [esp + 0x31c]
push edx
mov ecx, esi
call fcn.00480190
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x314], ebx
mov dword [esp + 0x1a4], ebx
jmp case.0x482710.22
lea eax, [esp + 0x274]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [eax]
push ebx
push ecx
mov ecx, esi
call fcn.00405cb0
fstp qword [esp + 0x30]
lea edx, [esp + 0x1ac]
push edx
mov ecx, edi
mov dword [esp + 0x278], ebx
call fcn.0040de60
mov eax, dword [eax]
push ebx
push eax
mov ecx, esi
call fcn.00405cb0
fsub qword [esp + 0x30]
sub esp, 8
lea ecx, [esp + 0x2e4]
fstp qword [esp]
push ecx
mov ecx, esi
mov dword [esp + 0x1b8], ebx
call fcn.004b9fa0
mov eax, dword [eax]
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
mov dword [ecx + edx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x2dc], ebx
jmp case.0x482710.22
lea edx, [esp + 0x27c]
lea edi, [esi + 0x6c8]
push edx
mov ecx, edi
call fcn.0040de60
mov dword [esp + 0x18], eax
lea eax, [esp + 0x1bc]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
push ebx
push edx
mov ecx, esi
mov dword [esp + 0x68], eax
call fcn.00405cb0
fstp qword [esp + 0x30]
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
push ebx
push ecx
mov ecx, esi
call fcn.00405cb0
fmul qword [esp + 0x30]
sub esp, 8
lea edx, [esp + 0x1bc]
fstp qword [esp]
push edx
mov ecx, esi
call fcn.004b9fa0
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x1bc], ebx
jmp case.0x482710.22
lea eax, [esp + 0x30c]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [eax]
push ebx
push ecx
mov ecx, esi
call fcn.00405cb0
fstp qword [esp + 0x30]
fld qword [0x5f66c8]
mov dword [esp + 0x30c], ebx
fld qword [esp + 0x30]
fucompp
fnstsw ax
test ah, 0x44
jp 0x482cae
mov ecx, esi
call fcn.0047e6a0
test eax, eax
je 0x482cae
lea edx, [esp + 0x30]
push edx
mov ecx, edi
call fcn.0040de60
mov eax, dword [esp + 0x24]
push eax
push 0x5fad38
push esi
lea ecx, [esp + 0x168]
call fcn.0047e630
mov eax, dword [esp + 0x15c]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x15c], ebx
jmp case.0x482710.22
lea ecx, [esp + 0x284]
push ecx
mov ecx, edi
call fcn.0040de60
mov edx, dword [eax]
push ebx
push edx
mov ecx, esi
call fcn.00405cb0
fdiv qword [esp + 0x30]
sub esp, 8
lea eax, [esp + 0x190]
mov ecx, esi
fstp qword [esp]
push eax
call fcn.004b9fa0
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x188], ebx
mov dword [esp + 0x284], ebx
jmp case.0x482710.22
lea eax, [esp + 0x1cc]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [eax]
push ebx
push ecx
mov ecx, esi
call fcn.00405cb0
fstp qword [esp + 0x30]
lea edx, [esp + 0x2e4]
push edx
mov ecx, edi
mov dword [esp + 0x1d0], ebx
call fcn.0040de60
mov eax, dword [eax]
push ebx
push eax
mov ecx, esi
call fcn.00405cb0
fld qword [esp + 0x30]
sub esp, 0x10
fstp qword [esp + 8]
mov dword [esp + 0x2f4], ebx
fstp qword [esp]
call fcn.0043afd0
add esp, 8
lea ecx, [esp + 0x1dc]
fstp qword [esp]
push ecx
mov ecx, esi
call fcn.004b9fa0
mov eax, dword [eax]
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
mov dword [ecx + edx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x1d4], ebx
jmp case.0x482710.22
lea edx, [esp + 0x1dc]
lea edi, [esi + 0x6c8]
push edx
mov ecx, edi
call fcn.0040de60
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x290]
push ecx
mov ecx, esi
call fcn.004bc8d0
mov eax, dword [eax]
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
mov dword [ecx + edx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x28c], ebx
mov dword [esp + 0x1dc], ebx
jmp case.0x482710.22
lea edx, [esp + 0x324]
lea edi, [esi + 0x6c8]
push edx
mov ecx, edi
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.00405d20
lea ecx, [esp + 0x1e4]
push ecx
mov ecx, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x328], ebx
call fcn.0040de60
mov edx, dword [eax]
push edx
mov ecx, esi
call fcn.00405d20
mov edx, dword [esp + 0x18]
push esi
and eax, edx
push eax
lea ecx, [esp + 0x29c]
mov dword [esp + 0x1ec], ebx
call fcn.004513f0
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x294], ebx
jmp case.0x482710.22
lea eax, [esp + 0x1ec]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [eax]
push ecx
mov ecx, esi
call fcn.00405d20
lea edx, [esp + 0x2ec]
push edx
mov ecx, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f0], ebx
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.00405d20
mov edx, dword [esp + 0x18]
push esi
or eax, edx
push eax
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x2f4], ebx
call fcn.004513f0
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x1f4], ebx
jmp case.0x482710.22
lea eax, [esp + 0x29c]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [eax]
push ecx
mov ecx, esi
call fcn.00405d20
lea edx, [esp + 0x1fc]
push edx
mov ecx, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2a0], ebx
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.00405d20
mov ecx, dword [esp + 0x18]
and ecx, 0x1f
shl eax, cl
push esi
lea ecx, [esp + 0x31c]
mov dword [esp + 0x200], ebx
push eax
call fcn.004513f0
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x318], ebx
jmp case.0x482710.22
lea eax, [esp + 0x204]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [eax]
push ecx
mov ecx, esi
call fcn.00405d20
lea edx, [esp + 0x2a4]
push edx
mov ecx, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x208], ebx
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.00405d20
mov ecx, dword [esp + 0x18]
and ecx, 0x1f
sar eax, cl
push esi
lea ecx, [esp + 0x210]
mov dword [esp + 0x2a8], ebx
push eax
call fcn.004513f0
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x20c], ebx
jmp case.0x482710.22
lea eax, [esp + 0x2f4]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [eax]
push ecx
mov ecx, esi
call fcn.00405d20
lea edx, [esp + 0x214]
push edx
mov ecx, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2f8], ebx
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.00405d20
mov ecx, dword [esp + 0x18]
and ecx, 0x1f
shr eax, cl
push esi
lea ecx, [esp + 0x2b0]
mov dword [esp + 0x218], ebx
push eax
call fcn.004513f0
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x2ac], ebx
jmp case.0x482710.22
lea eax, [esp + 0xbc]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
lea ecx, [esp + 0xb4]
push ecx
mov ecx, edi
call fcn.0040de60
lea edx, [esp + 0xb4]
push edx
lea ecx, [esp + 0xc0]
call fcn.0047e960
test al, al
je 0x4830a3
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xbc]
push eax
push ecx
mov ecx, esi
call fcn.004c71b0
mov dword [esp + 0x14], eax
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xbc], ebx
jmp 0x485030
mov dword [esp + 0x14], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xbc], ebx
jmp 0x485030
lea edx, [esp + 0x21c]
lea edi, [esi + 0x6c8]
push edx
mov ecx, edi
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.00405d20
lea ecx, [esp + 0x31c]
push ecx
mov ecx, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x220], ebx
call fcn.0040de60
mov edx, dword [eax]
push edx
mov ecx, esi
call fcn.00405d20
mov edx, dword [esp + 0x18]
push esi
xor eax, edx
push eax
lea ecx, [esp + 0x22c]
mov dword [esp + 0x324], ebx
call fcn.004513f0
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x224], ebx
jmp case.0x482710.22
lea eax, [esp + 0x7c]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
lea ecx, [esp + 0x84]
push ecx
mov ecx, edi
call fcn.0040de60
lea ecx, [esp + 0x7c]
call fcn.00405c20
test al, al
je 0x4831c7
lea ecx, [esp + 0x84]
call fcn.00405c20
test al, al
je 0x4831c7
lea ecx, [esp + 0x84]
call fcn.00405bf0
fstp qword [esp + 0x30]
lea ecx, [esp + 0x7c]
call fcn.00405bf0
fadd qword [esp + 0x30]
sub esp, 8
lea edx, [esp + 0x2bc]
fstp qword [esp]
push edx
mov ecx, esi
call fcn.004b9fa0
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x2b4], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x7c], ebx
jmp case.0x482710.22
mov ecx, esi
call fcn.0040ca00
mov ecx, dword [esp + 0x7c]
neg eax
sbb eax, eax
inc eax
push eax
lea eax, [esp + 0x30]
push eax
push ecx
mov ecx, esi
call fcn.004c59e0
test eax, eax
je 0x4831f1
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x7c], edx
mov ecx, esi
call fcn.0040ca00
mov ecx, dword [esp + 0x84]
neg eax
sbb eax, eax
inc eax
push eax
lea eax, [esp + 0x30]
push eax
push ecx
mov ecx, esi
call fcn.004c59e0
test eax, eax
je 0x483221
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x84], edx
lea ecx, [esp + 0x7c]
call fcn.0040dd30
test al, al
jne 0x48329e
lea ecx, [esp + 0x84]
call fcn.0040dd30
test al, al
jne 0x48329e
mov eax, dword [esp + 0x84]
push esi
push ebx
push eax
mov ecx, esi
call fcn.00405cb0
fstp qword [esp + 0x34]
mov ecx, dword [esp + 0x80]
push ebx
push ecx
mov ecx, esi
call fcn.00405cb0
fadd qword [esp + 0x34]
sub esp, 8
lea ecx, [esp + 0x238]
fstp qword [esp]
call fcn.0040c8b0
mov eax, dword [eax]
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
mov dword [ecx + edx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x22c], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x7c], ebx
jmp case.0x482710.22
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x300]
push eax
mov ecx, esi
call fcn.004c5840
lea ecx, [esp + 0x84]
push ecx
lea edx, [esp + 0xc8]
push edx
mov ecx, esi
call fcn.004c5840
lea eax, [esp + 0x2fc]
push eax
lea ecx, [esp + 0xc8]
call fcn.0043cef0
lea ecx, [esp + 0xc4]
push ecx
lea ecx, [esp + 0x168]
call fcn.004766c0
mov edx, dword [edi + 0x18]
mov ecx, dword [esp + 0x164]
mov eax, dword [edi + 0x20]
mov dword [eax + edx*4], ecx
inc dword [edi + 0x18]
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x164], ebx
mov ecx, dword [edx + 0x10]
mov eax, 0xffff
cmp ecx, eax
jbe 0x483325
mov word [esi + 0x71c], ax
mov dword [esp + 0x84], ebx
mov dword [esp + 0x7c], ebx
jmp case.0x482710.22
lea eax, [esp + 0x2bc]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
lea ecx, [esp + 0x234]
push ecx
mov ecx, edi
mov dword [esp + 0x1c], eax
call fcn.0040de60
mov edx, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov eax, dword [edx]
push ebx
push eax
mov ecx, esi
call fcn.00405cb0
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx]
sub esp, 8
fstp qword [esp]
push ebx
push edx
mov ecx, esi
call fcn.00405cb0
sub esp, 8
fstp qword [esp]
call fcn.0043aed0
add esp, 0x10
mov dword [esp + 0x234], ebx
mov dword [esp + 0x2bc], ebx
jmp 0x48502c
lea eax, [esp + 0x320]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [eax]
push ebx
push ecx
mov ecx, esi
call fcn.00405cb0
sub esp, 8
lea edx, [esp + 0x244]
fstp qword [esp]
push edx
mov ecx, esi
call fcn.004b9fa0
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x23c], ebx
mov dword [esp + 0x320], ebx
jmp case.0x482710.22
lea eax, [esp + 0x244]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
push eax
lea ecx, [esp + 0x2c8]
push ecx
mov ecx, esi
call fcn.004c5840
lea edx, [esp + 0x2c4]
push edx
lea ecx, [esp + 0x170]
mov dword [esp + 0x248], ebx
call fcn.004766c0
mov eax, dword [edi + 0x18]
mov edx, dword [esp + 0x16c]
mov ecx, dword [edi + 0x20]
mov dword [ecx + eax*4], edx
inc dword [edi + 0x18]
mov dword [esp + 0x16c], ebx
jmp case.0x482710.22
lea eax, [esp + 0x24c]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0047ea00
mov ecx, dword [eax]
push ecx
mov ecx, edi
call fcn.00415070
mov dword [esp + 0x24c], ebx
jmp case.0x482710.22
lea edx, [esp + 0x138]
lea edi, [esi + 0x6c8]
push edx
mov ecx, edi
call fcn.0040de60
lea eax, [esp + 0x174]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov eax, dword [esp + 0x138]
mov dword [edx + ecx*4], eax
mov ecx, dword [edi + 0x18]
mov eax, dword [esp + 0x174]
inc ecx
mov dword [edi + 0x18], ecx
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x174], ebx
mov dword [esp + 0x138], ebx
jmp case.0x482710.22
lea ecx, [esp + 0xa8]
lea edi, [esi + 0x6c8]
push ecx
mov ecx, edi
call fcn.0040de60
lea edx, [esp + 0xa4]
push edx
mov ecx, edi
call fcn.0040de60
mov ecx, esi
call fcn.0040ca00
test eax, eax
jne 0x48355d
mov ecx, dword [esp + 0xa8]
push 1
lea eax, [esp + 0x30]
push eax
push ecx
mov ecx, esi
call fcn.004c59e0
test eax, eax
je 0x483538
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xa8], edx
mov ecx, dword [esp + 0xa4]
push 1
lea eax, [esp + 0x30]
push eax
push ecx
mov ecx, esi
call fcn.004c59e0
test eax, eax
je 0x48355d
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xa4], edx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
push eax
push ecx
mov ecx, esi
call fcn.004c71b0
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
jmp 0x48502c
mov al, byte [esp + 0x1e]
xor edx, edx
cmp al, 0x55
sete dl
mov ecx, esi
push edx
push edi
call fcn.00481840
jmp case.0x482710.22
lea eax, [esp + 0x178]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
lea ecx, [esp + 0xf8]
push ecx
mov ecx, edi
call fcn.0040de60
mov edx, dword [esp + 0xf8]
push ebx
push edx
mov ecx, esi
call fcn.00405cb0
fstp qword [esp + 0x30]
mov eax, dword [esp + 0x178]
push ebx
push eax
mov ecx, esi
call fcn.00405cb0
fcomp qword [esp + 0x30]
mov dword [esp + 0x14], 1
fnstsw ax
test ah, 0x41
je 0x4835ff
mov dword [esp + 0x14], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x178], ebx
jmp 0x485030
lea ecx, [esp + 0x140]
lea edi, [esi + 0x6c8]
push ecx
mov ecx, edi
call fcn.0040de60
lea edx, [esp + 0x100]
push edx
mov ecx, edi
call fcn.0040de60
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x100]
push eax
push ecx
mov ecx, esi
call fcn.004c6f10
mov dword [esp + 0x100], ebx
mov dword [esp + 0x140], ebx
jmp 0x48502c
lea edx, [esp + 0x160]
lea edi, [esi + 0x6c8]
push edx
mov ecx, edi
call fcn.0040de60
lea eax, [esp + 0x108]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x160]
push ecx
push edx
mov ecx, esi
call fcn.004c6f10
mov dword [esp + 0x108], ebx
mov dword [esp + 0x160], ebx
jmp 0x48502c
lea eax, [esp + 0x148]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
lea ecx, [esp + 0x110]
push ecx
mov ecx, edi
call fcn.0040de60
mov edx, dword [esp + 0x148]
push edx
mov ecx, esi
call fcn.004c7660
test eax, eax
je 0x483700
mov eax, dword [esp + 0x110]
push eax
mov ecx, esi
call fcn.004c7660
test eax, eax
mov dword [esp + 0x14], 1
jne 0x483704
mov dword [esp + 0x14], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x148], ebx
jmp 0x485030
lea ecx, [esp + 0x170]
lea edi, [esi + 0x6c8]
push ecx
mov ecx, edi
call fcn.0040de60
lea edx, [esp + 0x118]
push edx
mov ecx, edi
call fcn.0040de60
mov eax, dword [esp + 0x170]
push eax
mov ecx, esi
call fcn.004c7660
test eax, eax
jne 0x483765
mov ecx, dword [esp + 0x118]
push ecx
mov ecx, esi
call fcn.004c7660
test eax, eax
mov dword [esp + 0x14], ebx
je 0x48376d
mov dword [esp + 0x14], 1
mov dword [esp + 0x118], ebx
mov dword [esp + 0x170], ebx
jmp 0x485030
lea edx, [esp + 0x304]
lea edi, [esi + 0x6c8]
push edx
mov ecx, edi
mov dword [esp + 0x10], 2
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.004c7660
neg eax
sbb eax, eax
inc eax
push eax
lea ecx, [esp + 0x10]
call fcn.00476670
mov ecx, dword [edi + 0x18]
mov eax, dword [esp + 0xc]
mov edx, dword [edi + 0x20]
mov dword [esp + 0x304], ebx
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
jmp case.0x482710.22
lea ecx, [esp + 0x254]
lea edi, [esi + 0x6c8]
push ecx
mov ecx, edi
call fcn.0040de60
mov edx, dword [eax]
push edx
mov ecx, esi
call fcn.004c5560
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2cc]
push eax
mov ecx, edi
mov dword [esp + 0x258], ebx
call fcn.0040de60
mov ecx, dword [eax]
push ecx
mov ecx, esi
call fcn.004c5560
mov edx, dword [esp + 0x24]
push edx
push eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
push eax
mov dword [esp + 0x2d8], ebx
call fcn.004b2ae0
mov ecx, dword [esp + 0x18]
neg eax
sbb eax, eax
inc eax
push ecx
mov dword [esp + 0x24], eax
call fcn.005dd350
mov edx, dword [esp + 0x28]
push edx
call fcn.005dd350
add esp, 0x14
jmp 0x485030
lea eax, [esp + 0x25c]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [eax]
push ecx
mov ecx, esi
call fcn.004c5560
lea edx, [esp + 0x308]
push edx
mov ecx, edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x260], ebx
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.004c5560
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
push ecx
push edx
push eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x314], ebx
call fcn.004b2ae0
mov edx, dword [esp + 0x18]
xor ecx, ecx
test eax, eax
setl cl
push edx
mov dword [esp + 0x24], ecx
call fcn.005dd350
mov eax, dword [esp + 0x28]
push eax
call fcn.005dd350
add esp, 0x14
jmp 0x485030
lea ecx, [esp + 0x264]
lea edi, [esi + 0x6c8]
push ecx
mov ecx, edi
call fcn.0040de60
mov edx, dword [eax]
push edx
mov ecx, esi
call fcn.004c5560
mov dword [esp + 0xc], eax
lea eax, [esp + 0x18c]
push eax
mov ecx, edi
mov dword [esp + 0x268], ebx
call fcn.0040de60
mov ecx, dword [eax]
push ecx
mov ecx, esi
call fcn.004c5560
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
push edx
push ecx
push eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x198], ebx
call fcn.004b2ae0
xor edx, edx
test eax, eax
mov eax, dword [esp + 0x18]
setg dl
push eax
mov dword [esp + 0x24], edx
call fcn.005dd350
mov ecx, dword [esp + 0x28]
push ecx
call fcn.005dd350
add esp, 0x14
jmp 0x485030
lea edx, [esp + 0x70]
lea edi, [esi + 0x6c8]
push edx
mov ecx, edi
call fcn.0040de60
cmp dword [esp + 0x24], 5
jle 0x4839f3
lea ecx, [esp + 0x70]
call fcn.0040dd30
test al, al
jne 0x4839a1
lea ecx, [esp + 0x70]
call fcn.00457470
test al, al
je 0x4839f3
lea ecx, [esp + 0x70]
call fcn.00426650
cmp byte [eax + 0x25], 6
jne 0x4839f3
lea ecx, [esp + 0x70]
call fcn.0040dd30
test al, al
lea ecx, [esp + 0x70]
je 0x4839b9
call fcn.00426650
jmp 0x4839c4
call fcn.00426650
mov eax, dword [eax + 0x4c]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + 0x10]
push esi
push eax
lea ecx, [esp + 0x198]
call fcn.004513f0
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x190], ebx
mov dword [esp + 0x70], ebx
jmp case.0x482710.22
mov eax, dword [esp + 0x70]
push eax
mov ecx, esi
call fcn.004c5560
cmp dword [esp + 0x24], 5
mov dword [esp + 0x18], eax
jle 0x483a0d
push ebx
jmp 0x483a1a
mov cl, byte [esp + 0x1e]
xor edx, edx
cmp cl, 0x31
sete dl
push edx
mov ecx, dword [esp + 0x28]
push ecx
push eax
call fcn.004b2a50
add esp, 0xc
push esi
push eax
lea ecx, [esp + 0x1a0]
call fcn.004513f0
mov eax, dword [eax]
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
mov dword [ecx + edx*4], eax
inc dword [edi + 0x18]
mov edx, dword [esp + 0x18]
push edx
mov dword [esp + 0x19c], ebx
call fcn.005dd350
add esp, 4
mov dword [esp + 0x70], ebx
jmp case.0x482710.22
lea eax, [esp + 0x1a0]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [eax]
push ecx
mov ecx, esi
call fcn.004c5560
lea edx, [esp + 0x1a8]
push edx
mov ecx, edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x1a4], ebx
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.004c5560
mov ecx, dword [esp + 0xc]
push ecx
push eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x1b0], ebx
call fcn.0043bac0
mov edx, dword [esp + 0x2c]
add esp, 8
push edx
push eax
push esi
lea ecx, [esp + 0x1bc]
mov dword [esp + 0x24], eax
call fcn.0047e630
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
mov edx, dword [edi + 0x18]
mov eax, dword [esp + 0x18]
inc edx
push eax
mov dword [edi + 0x18], edx
mov dword [esp + 0x1b4], ebx
call fcn.005dd350
mov ecx, dword [esp + 0x10]
push ecx
call fcn.005dd350
mov edx, dword [esp + 0x68]
push edx
call fcn.005dd350
add esp, 0xc
jmp case.0x482710.22
push esi
call fcn.0047e610
fsub qword [esi + 0x7f0]
sub esp, 8
lea ecx, [esp + 0x1c4]
fstp qword [esp]
call fcn.0040c8b0
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x6c8]
call fcn.00415070
mov dword [esp + 0x1b8], ebx
jmp case.0x482710.22
lea ecx, [esp + 0x1c0]
lea edi, [esi + 0x6c8]
push ecx
mov ecx, edi
call fcn.0040de60
mov edx, dword [eax]
push ebx
push edx
mov ecx, esi
call fcn.00405cb0
fcom qword [0x5fad30]
mov dword [esp + 0x1c0], ebx
fnstsw ax
test ah, 0x41
jne 0x483b87
fstp st(0)
fld qword [0x5fad30]
mov eax, dword [esi + 0x18]
add eax, 0x414
push eax
call fcn.004fae80
push eax
call fcn.0043b130
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
lea eax, [esp + 0x1d0]
mov ecx, esi
fstp qword [esp]
push eax
call fcn.004b9fa0
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x1c8], ebx
jmp case.0x482710.22
lea eax, [esp + 0x1d0]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [eax]
push ecx
mov ecx, esi
call fcn.00405d20
lea edx, [esp + 0x1d8]
push edx
mov ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1d4], ebx
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.00405d20
lea ecx, [esp + 0x74]
mov edi, eax
push ecx
lea ecx, [esi + 0x6c8]
dec edi
mov dword [esp + 0x1dc], ebx
call fcn.0040de60
cmp dword [esp + 0x24], 5
jle 0x483d0d
lea ecx, [esp + 0x74]
call fcn.0040dd30
test al, al
jne 0x483c68
lea ecx, [esp + 0x74]
call fcn.00457470
test al, al
je 0x483d0d
lea ecx, [esp + 0x74]
call fcn.00426650
cmp byte [eax + 0x25], 6
jne 0x483d0d
lea ecx, [esp + 0x74]
call fcn.0040dd30
test al, al
lea ecx, [esp + 0x74]
je 0x483c80
call fcn.00426650
jmp 0x483c8b
call fcn.00426650
mov edx, dword [eax + 0x4c]
mov eax, dword [edx + 0x24]
cmp edi, ebx
mov ecx, dword [eax + 0x10]
jge 0x483c96
xor edi, edi
jmp 0x483c9c
cmp edi, ecx
jle 0x483c9c
mov edi, ecx
cmp dword [esp + 0x14], ebx
jl 0x483cac
mov edx, ecx
sub edx, edi
cmp dword [esp + 0x14], edx
jle 0x483cb2
sub ecx, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0x14]
lea ecx, [edi + eax]
push ecx
push edi
lea edx, [esp + 0x1f0]
push edx
lea ecx, [esp + 0x1ec]
call fcn.0043cf60
lea eax, [esp + 0x1e8]
push eax
lea ecx, [esp + 0x124]
call fcn.004766c0
mov ecx, dword [esp + 0x120]
push ecx
lea ecx, [esi + 0x6c8]
call fcn.00415070
mov dword [esp + 0x120], ebx
mov dword [esp + 0x74], ebx
jmp case.0x482710.22
mov edx, dword [esp + 0x74]
push edx
mov ecx, esi
call fcn.004c5560
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
cmp eax, 5
jle 0x483d35
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
push ebx
push eax
push ecx
push edi
push edx
jmp 0x483d52
mov dl, byte [esp + 0x1e]
mov ecx, dword [esp + 0x24]
xor eax, eax
cmp dl, 0x35
mov edx, dword [esp + 0x14]
sete al
push eax
mov eax, dword [esp + 0x10]
push ecx
push edx
push edi
push eax
call fcn.004b2c60
mov ecx, dword [esp + 0x38]
add esp, 0x14
push ecx
mov edi, eax
push edi
push esi
lea ecx, [esp + 0x1fc]
call fcn.0047e630
mov eax, dword [eax]
mov edx, dword [esi + 0x6e0]
mov ecx, dword [esi + 0x6e8]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x6e0]
inc ecx
push edi
mov dword [esi + 0x6e0], ecx
mov dword [esp + 0x1f4], ebx
call fcn.005dd350
mov edx, dword [esp + 0x10]
push edx
call fcn.005dd350
add esp, 8
mov dword [esp + 0x74], ebx
jmp case.0x482710.22
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0x20]
jge case.0x482710.22
jmp 0x483dc4
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov al, byte [edi + ecx]
movzx eax, al
inc edi
cmp eax, 9
mov dword [esp + 0x40], edi
ja case.default.0x483de0
jmp dword [eax*4 + 0x485ab8]
lea ecx, [esp + 0x3c]
call fcn.0049cb80
mov ecx, dword [esp + 0x24]
push ecx
push eax
push esi
lea ecx, [esp + 0x37c]
call fcn.0043c850
push eax
lea ecx, [esp + 0x154]
call fcn.004766c0
mov edx, dword [esp + 0x150]
push edx
lea ecx, [esi + 0x6c8]
call fcn.00415070
mov dword [esp + 0x150], ebx
jmp case.default.0x483de0
lea ecx, [esp + 0x3c]
call fcn.00401630
mov dword [esp + 0x18], eax
fld dword [esp + 0x18]
sub esp, 8
lea eax, [esp + 0x200]
fstp qword [esp]
push eax
mov ecx, esi
call fcn.004b9fa0
mov ecx, dword [eax]
push ecx
lea ecx, [esi + 0x6c8]
call fcn.00415070
mov dword [esp + 0x1f8], ebx
jmp case.default.0x483de0
push esi
lea ecx, [esp + 0x40]
call fcn.00401630
push eax
lea ecx, [esp + 0x208]
call fcn.004513f0
mov edx, dword [eax]
push edx
lea ecx, [esi + 0x6c8]
call fcn.00415070
mov dword [esp + 0x200], ebx
jmp case.default.0x483de0
lea ecx, [esp + 0x3c]
call fcn.00401630
lea ecx, [esp + 0x3c]
mov dword [esp + 0x344], eax
call fcn.00401630
mov dword [esp + 0x340], eax
fld qword [esp + 0x340]
sub esp, 8
lea eax, [esp + 0x210]
fstp qword [esp]
push eax
mov ecx, esi
call fcn.004b9fa0
mov ecx, dword [eax]
push ecx
lea ecx, [esi + 0x6c8]
call fcn.00415070
mov dword [esp + 0x208], ebx
jmp case.default.0x483de0
mov dword [esp + 0xc], 2
mov al, byte [edi + ecx]
movzx edx, al
inc edi
push edx
lea ecx, [esp + 0x10]
mov dword [esp + 0x44], edi
call fcn.00476670
jmp 0x483fc2
mov eax, 0xa
jmp 0x483fc6
mov eax, dword [esp + 0x3c]
mov al, byte [edi + eax]
mov ecx, dword [edx + 0x4c]
inc edi
cmp ecx, ebx
mov dword [esp + 0x40], edi
je 0x483f45
cmp al, byte [edx + 0x3b]
jae case.0x483de0.3
movzx edx, al
mov eax, dword [ecx + edx*4]
jmp 0x483fc6
cmp al, 4
jae case.0x483de0.3
movzx ecx, al
mov edx, dword [esp + ecx*4 + 0x32c]
push edx
jmp 0x483fc7
mov eax, 2
jmp 0x483fc6
mov ecx, dword [edx + 0x1c]
cmp ecx, ebx
je case.default.0x483de0
mov eax, dword [esp + 0x3c]
mov al, byte [edi + eax]
lea edx, [esp + 0xc]
movzx eax, al
push edx
inc edi
push eax
mov dword [esp + 0x14], 2
mov dword [esp + 0x48], edi
call fcn.004574a0
mov ecx, dword [esp + 0xc]
push ecx
jmp 0x483fc7
mov edi, dword [edx + 0x1c]
cmp edi, ebx
je case.default.0x483de0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea eax, [ecx + edx]
add ecx, 2
mov dword [esp + 0x40], ecx
xor edx, edx
mov dh, byte [eax + 1]
lea ecx, [esp + 0xc]
push ecx
mov ecx, edi
mov dword [esp + 0x10], 2
mov dl, byte [eax]
push edx
call fcn.004574a0
mov eax, dword [esp + 0xc]
push eax
lea ecx, [esi + 0x6c8]
call fcn.00415070
mov ecx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x20]
jl 0x483dc0
jmp case.0x482710.22
lea ecx, [esi + 0x6c8]
call fcn.0047e650
jmp case.0x482710.22
lea edx, [esp + 0x218]
lea edi, [esi + 0x6c8]
push edx
mov ecx, edi
call fcn.0040de60
mov eax, dword [eax]
push esi
push eax
mov ecx, esi
call fcn.00405d20
push eax
lea ecx, [esp + 0x218]
call fcn.004513f0
mov ecx, dword [eax]
push ecx
mov ecx, edi
call fcn.00415070
mov dword [esp + 0x210], ebx
mov dword [esp + 0x218], ebx
jmp case.0x482710.22
inc dword [esp + 0x40]
jmp case.0x482710.22
mov edx, dword [esp + 0x64]
mov eax, dword [edx + 0x14]
xor edi, edi
cmp eax, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x28], ebx
je 0x4840ce
mov eax, dword [eax + 0x2c]
cmp eax, ebx
mov dword [esp + 0x28], eax
je 0x4840ce
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
lea edi, [eax + ecx]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 4]
cmp edi, eax
jb 0x484174
mov edx, dword [ecx + 0x1c8]
add edx, eax
cmp edi, edx
jae 0x484174
push edi
lea eax, [esp + 0x224]
push eax
mov ecx, esi
call fcn.004be480
mov edx, dword [eax]
push 1
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x30]
push edx
add ecx, 0x25c
call fcn.004a74f0
mov eax, dword [esp + 0x14]
cmp eax, ebx
mov dword [esp + 0x220], ebx
jne 0x484157
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x44]
sub ecx, eax
push ecx
add eax, edx
push eax
push esi
push 8
call fcn.004a1040
add esp, 0x14
cmp eax, ebx
je 0x48417b
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push esi
push ecx
mov ecx, dword [esp + 0x48]
sub edx, ecx
push edx
mov edx, dword [esp + 0x48]
add ecx, edx
push ecx
mov ecx, eax
call fcn.004a84b0
cmp eax, ebx
mov dword [esp + 0x14], eax
je 0x484157
cmp edi, ebx
je 0x484157
push edi
lea eax, [esp + 0x22c]
push eax
mov ecx, esi
call fcn.004be480
mov ecx, dword [esp + 0x14]
mov edx, dword [eax]
push 1
push ecx
mov ecx, dword [esp + 0x30]
push edx
add ecx, 0x25c
call fcn.004a73f0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x228], ebx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x1c]
add ecx, 0x1c
cmp eax, edx
je case.0x482710.22
push eax
call fcn.00479180
jmp case.0x482710.22
xor edi, edi
jmp 0x4840ce
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x484157
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
add eax, ecx
add ecx, 2
mov dword [esp + 0x40], ecx
xor ecx, ecx
mov ch, byte [eax + 1]
lea edx, [esp + 0x230]
push edx
mov cl, byte [eax]
mov edi, ecx
lea ecx, [esi + 0x6c8]
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.004c7660
cmp eax, ebx
mov dword [esp + 0x230], ebx
je case.0x482710.22
mov eax, dword [esp + 0x20]
movsx ecx, di
add eax, ecx
mov dword [esp + 0x20], eax
jmp case.0x482710.22
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea eax, [ecx + edx]
add ecx, 2
mov dword [esp + 0x40], ecx
xor ecx, ecx
mov ch, byte [eax + 1]
movzx eax, byte [eax]
movsx edx, cx
or edx, eax
add dword [esp + 0x20], edx
jmp case.0x482710.22
mov ecx, dword [esi + 0x55c]
cmp ecx, dword [esi + 0xc54]
push ebx
jl 0x48423f
push ebx
push 1
lea ecx, [esi + 0x24]
call fcn.00457f20
mov edx, dword [esi]
push 0x9d
push 3
push esi
call dword [edx + 0xe0]
add esp, 0xc
mov dword [esi + 0x718], 1
jmp case.0x482710.22
mov eax, dword [esi + 0x1c]
push eax
push 0x50
call fcn.005dd390
add esp, 0xc
cmp eax, ebx
je case.0x482710.22
push esi
mov ecx, eax
call fcn.00478f10
cmp eax, ebx
mov dword [esp + 0xc], eax
je case.0x482710.22
lea eax, [esp + 0x238]
push eax
lea ecx, [esi + 0x6c8]
call fcn.0040de60
mov ecx, dword [eax]
push ecx
mov ecx, esi
call fcn.004c5560
lea edx, [esp + 0x128]
push edx
push edi
push eax
mov ecx, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x244], ebx
call fcn.004c29e0
mov edi, eax
mov eax, dword [esp + 0x18]
push eax
call fcn.005dd350
add esp, 4
cmp edi, ebx
je 0x4844af
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x20]
mov ecx, dword [ecx + 4]
push edx
mov dword [esp + 0x1c], ecx
call fcn.00477720
lea ecx, [esp + 0x34c]
call fcn.004015f0
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax + 0x1c8]
mov edx, dword [edi + 0x34]
mov eax, dword [edi + 4]
push ecx
push edx
push eax
lea ecx, [esp + 0x358]
call fcn.0049c9d0
cmp dword [esp + 0x128], ebx
mov ecx, dword [edi + 0x38]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x28], ecx
je 0x484383
mov edx, ecx
push edx
lea ecx, [esp + 0x350]
call fcn.0049ca00
cmp eax, 0xffffffff
je 0x484383
cmp eax, 0xfffffffe
je 0x484367
cmp eax, 1
mov ecx, dword [esp + 0x35c]
mov dword [esp + 0x350], ecx
jne 0x48434f
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x128]
inc eax
cmp eax, ecx
mov dword [esp + 0x38], eax
je 0x484383
mov edx, dword [esp + 0x28]
push edx
lea ecx, [esp + 0x350]
call fcn.0049ca00
cmp eax, 0xffffffff
jne 0x484323
jmp 0x484383
push 1
mov ecx, esi
call fcn.004b5010
mov eax, dword [esi]
push 0x8e
push 3
push esi
call dword [eax + 0xe0]
add esp, 0xc
mov eax, dword [esi + 0x1c]
push ebx
push eax
push 0x10
call fcn.005dd390
add esp, 0xc
cmp eax, ebx
je 0x4844a0
mov ecx, eax
call fcn.00478810
cmp eax, ebx
mov dword [esp + 0x38], eax
je 0x4844a0
mov ecx, dword [esp + 0x28]
push ecx
lea ecx, [esp + 0x350]
call fcn.0049ca00
cmp eax, 0xffffffff
je 0x484448
cmp eax, 0xfffffffe
je 0x48442c
cmp eax, 0xc
jne 0x484401
mov edx, dword [esp + 0x18]
mov ecx, dword [edx]
mov eax, dword [esp + 0x350]
mov edx, dword [esp + 0x34c]
push 0x7fffffff
push ebx
push ebx
push 0xffffffffffffffff
push edi
add ecx, eax
push ecx
mov ecx, dword [esp + 0x50]
add eax, edx
push eax
push esi
call fcn.0047a900
jmp 0x484406
cmp eax, 1
je 0x484448
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x35c]
push ecx
lea ecx, [esp + 0x350]
mov dword [esp + 0x354], eax
call fcn.0049ca00
cmp eax, 0xffffffff
jne 0x4843c7
jmp 0x484448
push 1
mov ecx, esi
call fcn.004b5010
mov edx, dword [esi]
push 0x8e
push 3
push esi
call dword [edx + 0xe0]
add esp, 0xc
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0xc]
push eax
lea ecx, [edi + 0xc]
call fcn.00479180
push edi
lea ecx, [esi + 0x15c]
call fcn.00477760
mov eax, dword [esi + 0x7a4]
mov ecx, dword [esp + 0x20]
inc eax
mov dword [esi + 0x7a4], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x44]
mov byte [eax + 0x40], 1
add edx, ecx
mov dword [eax + 0x44], edx
mov dword [esp + 0x8c], 1
mov dword [edi + 0x44], ebx
mov byte [edi + 0x3f], 1
mov dword [edi + 0x48], ebx
jmp case.0x482710.22
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx]
push 1
call dword [edx]
jmp case.0x482710.22
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
push 1
call dword [eax]
jmp case.0x482710.22
lea ecx, [esp + 0x240]
lea edi, [esi + 0x6c8]
push ecx
mov ecx, edi
call fcn.0040de60
mov edx, dword [eax]
push ebx
push edx
mov ecx, esi
call fcn.00405cb0
call fcn.004fae80
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x240], ebx
mov dword [esp + 0x28], ebx
jl 0x48461a
cmp byte [esp + 0x1e], 0x43
mov eax, dword [esp + 0x14]
mov ecx, esi
jne 0x4845ac
add eax, 2
push eax
call fcn.004b5240
mov ecx, dword [esi + 0xd04]
push ebx
push ecx
push eax
mov ecx, esi
mov dword [esp + 0x34], eax
call fcn.004bc7d0
mov eax, dword [esp + 0x14]
cmp eax, ebx
jle 0x48461a
mov edx, eax
mov dword [esp + 0xc], edx
lea ebx, [ebx]
lea eax, [esp + 0x130]
push eax
mov ecx, edi
call fcn.0040de60
lea ecx, [esp + 0x168]
push ecx
mov ecx, edi
call fcn.0040de60
mov edx, dword [esp + 0x168]
push edx
lea eax, [esp + 0x24c]
push eax
mov ecx, esi
call fcn.0040e130
mov ecx, dword [esp + 0x130]
mov edx, dword [eax]
push ebx
push ecx
mov ecx, dword [esp + 0x30]
push edx
call fcn.004aa230
mov eax, dword [esp + 0xc]
dec eax
mov dword [esp + 0x248], ebx
mov dword [esp + 0x168], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0xc], eax
jne 0x484540
jmp 0x48461a
push eax
call fcn.004bf9b0
mov dword [esp + 0x28], eax
cmp dword [esp + 0x14], ebx
mov dword [esp + 0xc], ebx
jle 0x48461a
lea ecx, [esp + 0x258]
push ecx
mov ecx, edi
call fcn.0040de60
mov edx, dword [esp + 0xc]
mov dword [esp + 0x18], eax
push edx
lea eax, [esp + 0x254]
push eax
mov ecx, esi
call fcn.004be480
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [eax]
mov ecx, dword [esp + 0x28]
push ebx
push edx
push eax
call fcn.004aa230
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
inc eax
cmp eax, ecx
mov dword [esp + 0x250], ebx
mov dword [esp + 0x258], ebx
mov dword [esp + 0xc], eax
jl 0x4845c0
mov ecx, dword [esp + 0x28]
push ecx
lea ecx, [esp + 0x15c]
call fcn.00476860
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x20]
mov ecx, dword [esp + 0x158]
mov dword [eax + edx*4], ecx
inc dword [edi + 0x18]
mov dword [esp + 0x158], ebx
jmp case.0x482710.22
lea edx, [esp + 0x260]
lea ecx, [esi + 0x6c8]
push edx
call fcn.0040de60
mov eax, dword [eax]
push eax
lea ecx, [esp + 0xf4]
push ecx
mov ecx, esi
call fcn.0040e130
lea edx, [esp + 0x268]
push edx
lea ecx, [esi + 0x6c8]
mov dword [esp + 0x264], ebx
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.00405d20
mov dl, byte [esp + 0x1e]
push ebx
xor ecx, ecx
push ebx
cmp dl, 0x40
mov edx, dword [esp + 0xf8]
push 1
sete cl
push ebx
mov dword [esp + 0x278], ebx
push ecx
push eax
push edx
push edi
push ebx
mov ecx, esi
call fcn.004c44d0
cmp eax, ebx
mov dword [esp + 0x8c], eax
je 0x484716
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push edi
call fcn.00477720
mov edx, dword [esi + 0x7a4]
mov eax, dword [esp + 0x10]
inc edx
mov dword [esi + 0x7a4], edx
mov ecx, dword [eax + 0x44]
mov byte [eax + 0x40], 1
add ecx, edi
mov dword [eax + 0x44], ecx
mov eax, dword [esi + 0x560]
mov dword [eax + 0x44], ebx
mov byte [eax + 0x3f], 1
mov dword [eax + 0x48], ebx
mov dword [esp + 0xf0], ebx
jmp case.0x482710.22
mov ecx, dword [esp + 0x64]
cmp dword [ecx + 0xc], ebx
jne 0x48472a
mov dword [esp + 0x94], 1
mov dword [esp + 0xf0], ebx
jmp case.0x482710.22
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea eax, [ecx + edx]
add ecx, 2
mov dword [esp + 0x40], ecx
xor ecx, ecx
mov ch, byte [eax + 1]
lea edx, [esp + 0x270]
push edx
mov cl, byte [eax]
mov dword [esp + 0x10], ecx
lea ecx, [esi + 0x6c8]
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.004bffc0
mov edi, eax
cmp edi, ebx
mov dword [esp + 0x270], ebx
je 0x4847c4
mov ecx, dword [esp + 0x28]
cmp dword [ecx], ebx
je 0x4847c4
mov edx, ecx
mov ecx, dword [edx]
call fcn.0047ea30
test al, al
jne 0x4847c4
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
movzx edx, word [esp + 0xc]
add eax, ecx
add edx, eax
push edx
push eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
push eax
push edi
call fcn.004a87f0
mov ecx, dword [esp + 0x38]
add esp, 0x10
push eax
call fcn.00536500
jmp case.0x482710.22
push ebx
push ebx
push 2
lea ecx, [esi + 0x24]
call fcn.00457f20
movzx ecx, word [esp + 0xc]
add dword [esp + 0x20], ecx
jmp case.0x482710.22
lea edx, [esp + 0xcc]
lea ecx, [esi + 0x6c8]
push edx
call fcn.0040de60
lea eax, [esp + 0x278]
push eax
lea ecx, [esi + 0x6c8]
call fcn.0040de60
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0xd4]
push edx
mov ecx, esi
call fcn.0040e130
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x278], ebx
call fcn.0047e9e0
test eax, eax
je 0x484864
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x3d], bl
je 0x484864
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x48488a
mov eax, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
push 2
push eax
push edx
call fcn.004aa230
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xcc], ebx
jmp case.0x482710.22
push 1
push edi
mov ecx, esi
call fcn.0040e030
test eax, eax
je 0x48488a
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
push eax
push ecx
push edi
mov ecx, esi
call fcn.004c9e10
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xcc], ebx
jmp case.0x482710.22
lea edx, [esp + 0x280]
push edx
lea ecx, [esi + 0x6c8]
call fcn.0040de60
mov eax, dword [eax]
push eax
lea ecx, [esp + 0xa0]
push ecx
mov ecx, esi
call fcn.0040e130
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x280], ebx
mov dword [esp + 0xf4], 2
call fcn.0047e9e0
test eax, eax
je 0x484936
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x3d], bl
je 0x484936
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x48497a
mov edx, dword [esp + 0x9c]
push edx
call fcn.004a7cd0
test eax, eax
jne 0x48497a
mov eax, dword [esi + 0xcbc]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x10]
push 2
push eax
push ecx
mov ecx, dword [edx + 0x18]
call fcn.004aa230
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x9c], ebx
jmp case.0x482710.22
push 1
push edi
mov ecx, esi
call fcn.0040e030
test eax, eax
je 0x48497a
mov ecx, dword [esp + 0x9c]
push 1
push ebx
lea eax, [esp + 0xfc]
push eax
push ecx
push edi
mov ecx, esi
call fcn.004c42d0
test eax, eax
jne 0x48497a
mov edx, dword [esi + 0xcbc]
mov eax, dword [esp + 0x9c]
push edx
push eax
push edi
mov ecx, esi
call fcn.004c9e10
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x9c], ebx
jmp case.0x482710.22
mov eax, dword [edx + 0x2c]
add edx, 0x2c
cmp eax, ebx
mov ecx, 1
mov dword [esp + 0x6c], ecx
je 0x4849b8
cmp dword [eax + 0x20], ebx
jne 0x4849c4
mov dword [esp + 0x6c], ebx
mov dword [esi + 0x734], 2
jmp case.0x482710.22
cmp dword [esi + 0x734], ecx
jne case.0x482710.22
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
call fcn.0047ea50
mov dword [esi + 0x734], ebx
jmp case.0x482710.22
cmp byte [esp + 0x1e], 0x8e
lea ecx, [esp + 0x3c]
sete byte [esp + 0xb8]
call fcn.0049cb80
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0xc], eax
lea eax, [ecx + edx]
add ecx, 2
mov dword [esp + 0x40], ecx
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax]
mov dword [esp + 0x17c], ebx
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], ebx
mov edi, ecx
cmp di, bx
mov dword [esp + 0xd8], edi
jbe 0x484a5b
push 0x10
call fcn.005dd330
add esp, 4
cmp eax, ebx
je 0x484a5b
mov ecx, dword [esi + 0x7a8]
movzx edx, di
push edx
push ecx
mov ecx, eax
call fcn.00455d20
mov dword [esp + 0x38], eax
jmp 0x484a5f
mov dword [esp + 0x38], ebx
cmp byte [esp + 0xb8], bl
je 0x484a6d
add dword [esp + 0x40], 3
cmp di, bx
mov dword [esp + 0x14], ebx
jbe 0x484b41
lea ebx, [ebx]
cmp byte [esp + 0xb8], bl
mov dword [esp + 0x98], 0xffffffff
je 0x484aae
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov al, byte [ecx + edx]
movzx eax, al
inc ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x98], eax
cmp word [esp + 0x14], bx
jbe 0x484ac6
push 0x5fad28
lea ecx, [esp + 0x180]
call fcn.0043b6e0
lea ecx, [esp + 0x3c]
call fcn.0049cb80
mov edi, eax
mov eax, dword [esp + 0x44]
cmp eax, 0xffffffff
je 0x484ae0
cmp dword [esp + 0x40], eax
jg 0x484b1c
push edi
lea ecx, [esp + 0x180]
call fcn.0043b6e0
mov ecx, dword [esp + 0x98]
push edi
mov edi, dword [esp + 0x18]
movzx edx, di
push ecx
mov ecx, dword [esp + 0x40]
push edx
call fcn.00455e00
inc edi
cmp di, word [esp + 0xd8]
mov dword [esp + 0x14], edi
jb 0x484a80
jmp 0x484b41
lea ecx, [esp + 0x3c]
call fcn.0049e840
push 1
mov ecx, esi
call fcn.004b5010
mov eax, dword [esi]
push 0x8e
push 3
push esi
call dword [eax + 0xe0]
add esp, 0xc
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea eax, [ecx + edx]
mov edx, dword [esp + 0x60]
add ecx, 2
mov dword [esp + 0x40], ecx
xor ecx, ecx
mov ch, byte [eax + 1]
push ebx
mov cl, byte [eax]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], eax
movzx ecx, cx
add eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x29c], ecx
sub eax, edx
mov ecx, esi
mov dword [esp + 0x294], eax
call fcn.004b5240
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.004b51f0
mov edi, eax
cmp edi, ebx
je 0x484e56
cmp dword [esp + 0x14], ebx
je 0x484e56
mov eax, dword [esi + 0xd18]
push 1
push eax
push edi
mov ecx, esi
call fcn.004bc7d0
mov ecx, dword [esi + 0xd04]
mov edx, dword [esp + 0x14]
push ebx
push ecx
push edx
mov ecx, esi
call fcn.004bc7d0
push edi
lea ecx, [esp + 0x108]
call fcn.00476860
mov eax, dword [esp + 0x104]
mov ecx, dword [esi + 0xd08]
push 3
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.004aa230
mov edx, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x110]
mov dword [esp + 0x108], ebx
call fcn.00476860
mov eax, dword [esp + 0x10c]
mov ecx, dword [esi + 0xcf8]
push 3
push eax
push ecx
mov ecx, edi
call fcn.004aa230
mov edx, dword [esp + 0x64]
mov eax, dword [edx + 0x14]
cmp eax, ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x14], ebx
je 0x484c3f
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0x20]
cmp eax, ebx
je 0x484c4e
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
cmp ecx, ebx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x98], edx
je 0x484c83
call fcn.00458a80
test eax, eax
je 0x484c83
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x20]
call fcn.00458a80
mov edx, dword [eax + 0x7c]
mov dword [esp + 0x98], edx
mov eax, dword [esp + 0x38]
cmp eax, ebx
je 0x484c91
mov dword [edi + 0x98], eax
cmp dword [esp + 0x180], ebx
je 0x484cad
mov eax, dword [esp + 0x17c]
push eax
lea ecx, [edi + 0x88]
call fcn.0043b5c0
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0x64]
mov eax, dword [edx]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xc]
push ecx
lea edx, [esp + 0x2ac]
push edx
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.004bf3e0
mov eax, dword [eax]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xd8]
push ecx
mov ecx, dword [esp + 0x294]
push edx
push eax
mov eax, dword [esp + 0x2a4]
mov edx, ecx
sub edx, eax
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0xac]
add eax, edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x7c]
push edx
push ecx
mov ecx, dword [esp + 0x4c]
lea edx, [eax + ecx]
push edx
push eax
mov eax, dword [esp + 0x68]
push eax
mov ecx, edi
call fcn.004a8330
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x2a8], ebx
cmp byte [ecx], bl
jne 0x484d83
push edi
lea ecx, [esp + 0x120]
call fcn.00476860
mov edx, dword [esp + 0x11c]
push edx
lea ecx, [esi + 0x6c8]
call fcn.00415070
lea ecx, [esp + 0x17c]
mov dword [esp + 0x11c], ebx
call fcn.00423ae0
jmp case.0x482710.22
cmp dword [esp + 0x24], 5
jle 0x484e10
mov ecx, dword [esp + 0x10]
call fcn.0047e9e0
test eax, eax
je 0x484e10
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x3d], bl
je 0x484e10
cmp dword [esi + 0x7a0], ebx
jne 0x484e10
cmp dword [eax + 0x18], ebx
je 0x484e56
push edi
lea ecx, [esp + 0x128]
call fcn.00476860
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x18]
push ecx
lea edx, [esp + 0x2b4]
push edx
mov ecx, esi
call fcn.004bf3e0
mov ecx, dword [esp + 0x124]
mov edx, dword [eax]
push 2
push ecx
push edx
mov ecx, edi
call fcn.004aa230
lea ecx, [esp + 0x17c]
mov dword [esp + 0x2b0], ebx
mov dword [esp + 0x124], ebx
call fcn.00423ae0
jmp case.0x482710.22
push edi
lea ecx, [esp + 0x138]
call fcn.00476860
mov eax, dword [esp + 0xc]
push eax
lea ecx, [esp + 0x2bc]
push ecx
mov ecx, esi
call fcn.004bf3e0
mov edx, dword [esp + 0x134]
mov eax, dword [eax]
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
mov ecx, esi
call fcn.004c9e10
mov dword [esp + 0x2b8], ebx
mov dword [esp + 0x134], ebx
lea ecx, [esp + 0x17c]
call fcn.00423ae0
jmp case.0x482710.22
lea edx, [esp + 0x2c0]
lea edi, [esi + 0x6c8]
push edx
mov ecx, edi
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.00405d20
cmp dword [esp + 0x24], 5
mov dword [esp + 0x2c0], ebx
jle 0x484ead
lea ecx, [esp + 0x7c]
push ecx
lea edx, [esp + 0x7c]
push edx
push eax
call fcn.004d99a0
add esp, 0xc
mov byte [esp + eax + 0x78], bl
jmp 0x484ed6
cmp byte [esp + 0x1e], 0x37
jne 0x484ece
cmp eax, 0xff
jle 0x484ece
mov ecx, eax
sar ecx, 8
mov byte [esp + 0x78], cl
mov byte [esp + 0x79], al
mov byte [esp + 0x7a], bl
jmp 0x484ed6
mov byte [esp + 0x78], al
mov byte [esp + 0x79], bl
mov edx, dword [esp + 0x24]
push edx
lea eax, [esp + 0x7c]
push eax
push esi
lea ecx, [esp + 0x2d4]
call fcn.0047e630
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x2c8], ebx
jmp case.0x482710.22
lea eax, [esp + 0x2d0]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
mov ecx, dword [eax]
push ecx
mov ecx, esi
call fcn.004c5560
cmp dword [esp + 0x24], 5
mov dword [esp + 0xc], eax
mov dword [esp + 0x2d0], ebx
jle 0x484f66
mov ecx, eax
lea edx, [ecx + 1]
mov dword [esp + 0x30], edx
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x484f41
sub ecx, dword [esp + 0x30]
lea edx, [esp + 0xb0]
push edx
add ecx, eax
push ecx
push eax
call fcn.004d98e0
mov eax, dword [esp + 0x18]
add esp, 0xc
jmp 0x484f9d
cmp byte [esp + 0x1e], 0x36
jne 0x484f92
xor edx, edx
mov dl, byte [eax]
push edx
call fcn.004b29f0
add esp, 4
test eax, eax
mov eax, dword [esp + 0xc]
je 0x484f92
movzx cx, byte [eax + 1]
mov ch, byte [eax]
mov dword [esp + 0xb0], ecx
jmp 0x484f9d
movzx dx, byte [eax]
mov dword [esp + 0xb0], edx
push eax
call fcn.005dd350
movzx eax, word [esp + 0xb4]
add esp, 4
push esi
push eax
lea ecx, [esp + 0x2e0]
call fcn.004513f0
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
mov dword [esp + 0x2d8], ebx
jmp case.0x482710.22
push edi
mov ecx, esi
call fcn.0047f650
jmp case.0x482710.22
lea eax, [esp + 0x144]
lea edi, [esi + 0x6c8]
push eax
mov ecx, edi
call fcn.0040de60
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.0040de60
mov edx, dword [esp + 0x144]
mov eax, dword [esp + 0x13c]
push edx
push eax
mov ecx, esi
call fcn.004c00b0
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x144], ebx
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x14]
cmp edx, 0xffffffff
jne 0x48504e
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], 2
inc dword [edi + 0x18]
jmp case.0x482710.22
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
cmp byte [eax + ecx], 0x12
jne 0x48507b
inc eax
mov dword [esp + 0x40], eax
cmp byte [eax + ecx], 0x12
jne 0x48506e
inc eax
mov dword [esp + 0x40], eax
jmp 0x48507b
mov edx, 1
sub edx, dword [esp + 0x14]
mov dword [esp + 0x14], edx
cmp byte [eax + ecx], 0x9d
jne 0x4850ae
add eax, 3
lea edi, [eax + ecx]
add eax, 2
cmp edx, ebx
mov dword [esp + 0x40], eax
je 0x482942
movzx edx, byte [edi]
xor ecx, ecx
mov ch, byte [edi + 1]
movsx ecx, cx
or ecx, edx
add ecx, eax
mov dword [esp + 0x20], ecx
jmp case.0x482710.22
mov edx, dword [esp + 0x14]
mov dword [esp + 0x20], eax
xor eax, eax
cmp edx, 1
sete al
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 2
push eax
call fcn.00476670
mov ecx, dword [edi + 0x18]
mov eax, dword [esp + 0x18]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc dword [edi + 0x18]
jmp case.0x482710.22
lea edx, [esp + 0x2e0]
lea ecx, [esi + 0x6c8]
push edx
call fcn.0040de60
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x8c]
push ecx
mov ecx, esi
call fcn.0040e130
lea edx, [esp + 0x2e8]
push edx
lea ecx, [esi + 0x6c8]
mov dword [esp + 0x2e4], ebx
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.004bffc0
cmp eax, ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x2e8], ebx
je 0x485217
mov eax, dword [esp + 0x24]
xor ecx, ecx
cmp eax, 7
mov eax, dword [esp + 0x88]
setge cl
lea edx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x1c]
push ebx
push 1
push edx
push eax
push ecx
mov ecx, esi
call fcn.0040e0e0
test eax, eax
jne 0x4851f2
mov edi, dword [esi + 0xc70]
cmp byte [edi + 0x215], bl
mov dword [esp + 0x30], edi
je 0x4851ea
mov edx, dword [esp + 0x18]
push ebx
push 1
lea eax, [esp + 0x34]
mov byte [edi + 0x215], bl
mov ecx, dword [esp + 0x90]
push eax
push ecx
push edx
mov ecx, esi
call fcn.004c2ad0
test eax, eax
je 0x4851e3
lea ecx, [esp + 0x88]
call fcn.00476a40
mov edi, eax
mov eax, dword [esi]
push edi
push 0x9a
push 2
push esi
call dword [eax + 0xe0]
push edi
call fcn.005dd350
mov ecx, dword [esi]
push 0x73
push 2
push esi
call dword [ecx + 0xe0]
mov edi, dword [esp + 0x50]
add esp, 0x20
mov byte [edi + 0x215], 1
mov dword [esp + 0x2c], 2
mov edx, dword [esi + 0x6e0]
mov eax, dword [esi + 0x6e8]
mov ecx, dword [esp + 0x2c]
mov dword [eax + edx*4], ecx
inc dword [esi + 0x6e0]
mov dword [esp + 0x88], ebx
jmp case.0x482710.22
cmp edi, ebx
je 0x48524b
or dword [esp + 0x68], 2
mov edx, dword [edi + 0xc8]
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], edx
call fcn.0040dd00
test al, al
je 0x48524b
lea ecx, [esp + 0x88]
call fcn.0040dd00
test al, al
je 0x48524b
mov al, 1
jmp 0x48524d
xor al, al
test byte [esp + 0x68], 2
je 0x485259
and dword [esp + 0x68], 0xfffffffd
cmp al, bl
je 0x4851ea
mov eax, dword [edi + 0xc8]
lea ecx, [esp + 0x14c]
mov dword [esp + 0x14c], eax
call fcn.00476a40
lea ecx, [esp + 0x88]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14c], ebx
call fcn.00476a40
mov edx, dword [esp + 0x18]
mov ecx, dword [esi]
push eax
push edx
push 0x7c
push 2
push esi
mov dword [esp + 0x44], eax
call dword [ecx + 0xe0]
mov eax, dword [esp + 0x2c]
push eax
call fcn.005dd350
mov ecx, dword [esp + 0x48]
push ecx
call fcn.005dd350
mov edx, dword [esp + 0xa4]
add esp, 0x1c
push edx
mov ecx, edi
call fcn.004802c0
jmp 0x4851ea
push edi
mov ecx, esi
call fcn.00480840
jmp case.0x482710.22
mov ecx, esi
call fcn.00480030
jmp case.0x482710.22
lea edx, [esp + 0x90]
lea ecx, [esi + 0x6c8]
push edx
call fcn.0040de60
lea eax, [esp + 0x2f0]
push eax
lea ecx, [esi + 0x6c8]
call fcn.0040de60
mov ecx, dword [eax]
push ecx
mov ecx, esi
call fcn.004bffc0
lea edx, [esp + 0x2f8]
push edx
lea ecx, [esi + 0x6c8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x2f4], ebx
call fcn.0040de60
mov eax, dword [eax]
push eax
mov ecx, esi
call fcn.00405d20
mov dword [esp + 0x18], eax
cmp dword [esp + 0xc], ebx
mov dword [esp + 0x2f8], ebx
je 0x48545d
mov ecx, dword [esi + 0xc70]
cmp byte [ecx + 0x215], bl
je 0x48537b
lea ecx, [esp + 0x90]
call fcn.00452170
test al, al
je 0x48537b
mov edx, dword [esi + 0xcc4]
jmp 0x48539b
mov eax, dword [esp + 0x90]
push eax
lea ecx, [esp + 0x304]
push ecx
mov ecx, esi
call fcn.0040e130
mov edx, dword [eax]
mov dword [esp + 0x300], ebx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x90], edx
mov dl, byte [esp + 0x1e]
xor eax, eax
cmp dl, 0x53
mov edx, dword [ecx]
sete al
mov dword [esp + 0x30], eax
call dword [edx + 8]
cmp eax, ebx
jne 0x4853c1
mov eax, edi
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
push ebx
push ebx
push 1
push ebx
push ecx
mov ecx, dword [esp + 0xa4]
push edx
mov edx, dword [esp + 0x24]
push ecx
push eax
push edx
mov ecx, esi
call fcn.004c44d0
cmp eax, ebx
mov dword [esp + 0x8c], eax
je 0x48543d
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push edi
call fcn.00477720
mov edx, dword [esi + 0x7a4]
mov eax, dword [esp + 0x10]
inc edx
mov dword [esi + 0x7a4], edx
mov ecx, dword [eax + 0x44]
mov byte [eax + 0x40], 1
add ecx, edi
mov dword [eax + 0x44], ecx
mov eax, dword [esi + 0x560]
mov dword [eax + 0x44], ebx
mov byte [eax + 0x3f], 1
mov dword [eax + 0x48], ebx
mov dword [esp + 0x90], ebx
jmp case.0x482710.22
mov ecx, dword [esp + 0x64]
cmp dword [ecx + 0xc], ebx
jne 0x485491
mov dword [esp + 0x94], 1
mov dword [esp + 0x90], ebx
jmp case.0x482710.22
mov edi, dword [esp + 0x18]
cmp edi, ebx
je 0x485478
lea edx, [esp + 0x30]
push edx
lea ecx, [esi + 0x6c8]
call fcn.0040de60
dec edi
jne 0x485465
mov eax, dword [esi + 0x6e0]
mov ecx, dword [esi + 0x6e8]
mov dword [ecx + eax*4], 2
inc dword [esi + 0x6e0]
mov dword [esp + 0x90], ebx
jmp case.0x482710.22
push edi
lea edx, [esp + 0x40]
push edx
mov ecx, esi
call fcn.0047f5c0
mov dword [esp + 0xa0], eax
jmp case.0x482710.22
push edi
lea eax, [esp + 0x40]
push eax
mov ecx, esi
call fcn.0047f510
jmp case.0x482710.22
mov ecx, dword [esp + 0x10]
call fcn.0047e9e0
push eax
push edi
mov ecx, esi
call fcn.00480cc0
jmp case.0x482710.22
mov ecx, dword [esp + 0x10]
call fcn.0047e9e0
push eax
push edi
mov ecx, esi
call fcn.0047fcc0
jmp case.0x482710.22
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
push ecx
push edx
mov ecx, esi
call fcn.00480490
jmp case.0x482710.22
push edi
lea eax, [esp + 0x40]
push eax
mov ecx, esi
call fcn.0047ef40
jmp case.0x482710.22
push edi
mov ecx, esi
call fcn.0047f760
jmp case.0x482710.22
push edi
mov ecx, esi
call fcn.0047fad0
jmp case.0x482710.22
mov ecx, esi
call fcn.004be780
jmp case.0x482710.22
push edi
mov ecx, esi
call fcn.0047f840
jmp case.0x482710.22
mov ecx, esi
call fcn.00480330
jmp case.0x482710.22
push edi
mov ecx, esi
call fcn.0047f920
jmp case.0x482710.22
push edi
mov ecx, esi
call fcn.0047fa30
jmp case.0x482710.22
mov al, byte [esp + 0x1e]
xor ecx, ecx
cmp al, 0x3a
sete cl
push ecx
push edi
mov ecx, esi
call fcn.004806b0
jmp case.0x482710.22
push 6
lea ecx, [esi + 0x24]
call fcn.00457050
mov dl, byte [esp + 0x1e]
mov byte [esp + 0x1f], dl
inc word [esi + 0x71c]
cmp word [esi + 0x71c], bx
jne 0x48559b
mov ecx, esi
call fcn.004b84a0
cmp dword [esp + 0x8c], ebx
jne 0x482125
cmp dword [esi + 0x718], ebx
jne 0x482125
cmp dword [esp + 0x6c], ebx
jne 0x482125
cmp dword [esp + 0x94], ebx
jne 0x482125
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x40], eax
jmp 0x481fa4
mov dword [esp + 0x154], 1
jmp 0x48561d
cmp byte [esp + 0xe8], bl
je 0x48561d
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov dword [eax + 0xc70], ecx
mov dword [eax + 0xc74], edx
mov dword [eax + 0xcb0], 0xffffffff
cmp dword [esi + 0x718], ebx
jne 0x485717
cmp dword [esp + 0x8c], ebx
jne 0x485704
cmp dword [esp + 0x154], ebx
jne 0x485704
cmp dword [esp + 0x94], ebx
jne 0x485704
mov edi, dword [esi + 0x560]
cmp edi, ebx
je 0x485704
mov eax, dword [esi + 0x734]
xor ecx, ecx
cmp eax, ebx
movzx eax, byte [edi + 0x3a]
setne cl
dec eax
mov dword [esp + 0xc0], 1
je 0x485697
dec eax
jne 0x4856bd
cmp dword [esp + 0x6c], ebx
je 0x4856b2
cmp ecx, ebx
jne 0x4856b2
lea ecx, [esi + 0x6c8]
call fcn.0047e650
jmp 0x4856b2
cmp dword [esp + 0x6c], ebx
jne 0x4856b2
cmp ecx, ebx
jne 0x4856b2
mov eax, 2
push eax
lea ecx, [esi + 0x6c8]
call fcn.00415070
mov dword [esp + 0xac], 1
cmp byte [edi + 0x3f], bl
mov dword [esp + 0x6c], ebx
je 0x4856cc
dec dword [esi + 0x7a4]
push 0xffffffffffffffff
lea ecx, [esi + 0x24]
call fcn.00456310
cmp dword [edi + 8], ebx
jne 0x4856f9
mov ecx, dword [esi + 0x734]
mov eax, 1
cmp ecx, eax
jne 0x4856f9
cmp dword [esi + 0x79c], eax
jg 0x4856f9
mov ecx, esi
call fcn.00480120
lea ecx, [esi + 0x15c]
call fcn.00477780
mov eax, dword [esp + 0xd4]
cmp dword [esi + 0x560], eax
jne 0x481c00
cmp dword [esi + 0x79c], 1
jg 0x48583e
cmp dword [esi + 0x718], ebx
je 0x4857bb
mov edx, dword [esp + 0xd4]
cmp dword [esi + 0x560], edx
je 0x48575b
lea edi, [esi + 0x15c]
mov ecx, edi
call fcn.00477780
mov eax, dword [esp + 0xd4]
cmp dword [esi + 0x560], eax
jne 0x485745
mov ecx, dword [esi + 0x554]
call fcn.00479c00
mov ecx, dword [esi + 0x558]
call fcn.00479c00
mov ecx, dword [esi + 0x54c]
call fcn.00479c00
mov ecx, dword [esi + 0x550]
call fcn.00479c00
mov ecx, dword [esi + 0x554]
mov byte [ecx + 0xc], 1
mov edx, dword [esi + 0x558]
mov byte [edx + 0xc], 1
mov eax, dword [esi + 0x54c]
mov byte [eax + 0xc], 1
mov ecx, dword [esi + 0x550]
mov byte [ecx + 0xc], 1
push ebx
lea ecx, [esi + 0x6c8]
call fcn.0047e670
cmp dword [ebp + 8], ebx
jne 0x48581a
mov eax, dword [esi + 0x6e0]
cmp eax, ebx
jbe 0x4857ea
mov dword [esi + 0x6e0], ebx
mov edx, dword [esi + 0x6e0]
mov ecx, dword [esi + 0x6e8]
dec eax
add edx, eax
cmp eax, ebx
mov dword [ecx + edx*4], 2
jne 0x4857d0
mov eax, dword [esi + 0x704]
cmp eax, ebx
jbe 0x48581a
mov dword [esi + 0x704], ebx
lea ebx, [ebx]
mov edx, dword [esi + 0x704]
mov ecx, dword [esi + 0x70c]
dec eax
add edx, eax
cmp eax, ebx
mov dword [ecx + edx*4], 2
jne 0x485800
mov ecx, esi
call fcn.004c6e90
push 1
push esi
call fcn.004197c0
add esp, 8
lea ecx, [esi + 0x15c]
call fcn.0047de90
mov ecx, esi
call fcn.004b4e90
mov ecx, dword [esi + 0x79c]
mov eax, dword [esi + 0x7a4]
dec ecx
dec eax
mov dword [esi + 0x79c], ecx
mov dword [esi + 0x7a4], eax
lea eax, [esp + 0x33c]
mov ecx, 4
sub eax, 4
dec ecx
mov dword [eax], ebx
jne 0x485864
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [esp + 0x374]
call fcn.00486950
lea ecx, [esp + 0xdc]
call fcn.0047e8b0
push 0x401470
push 4
push 4
lea ecx, [esp + 0x338]
push ecx
call fcn.00401030
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4