Function at 0x4a74b0
Capabilities:
Encode data using base64
Parse credit card information
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56a777
mov eax, dword fs:[0]
push eax
mov eax, 0x28c4
call fcn.00547480
mov eax, dword [0x661850]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x20d4], ecx
push str.Mon_Jun__1_15:24:17_2015
push 0x1a0
push str.CItem::ShowItemStatus
push str.GameProcessItem.cpp
lea ecx, [ebp - 0x15dd]
call fcn.004024e0
mov dword [ebp - 4], 0
mov byte [ebp - 0x16ec], 0
push 0x103
push 0
lea eax, [ebp - 0x16eb]
push eax
call fcn.005454d0
add esp, 0xc
mov ecx, dword [ebp - 0x20d4]
push ecx
call fcn.00545a90
add esp, 4
cmp eax, 0x104
jbe 0x4a7556
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15dd]
call fcn.00402620
jmp 0x4aff5a
lea ecx, [ebp - 0x15dc]
call fcn.004375c0
mov byte [ebp - 4], 1
mov byte [ebp - 0x1804], 0
push 0x103
push 0
lea edx, [ebp - 0x1803]
push edx
call fcn.005454d0
add esp, 0xc
mov eax, dword [0x66aaa4]
cmp eax, dword [ebp - 0x20d4]
je 0x4a767c
mov ecx, dword [ebp - 0x20d4]
mov dword [0x66aaa4], ecx
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x87]
test eax, eax
je 0x4a767c
call fcn.0040ada0
mov ecx, dword [ebp - 0x20d4]
sub eax, dword [ecx + 0x330]
cmp eax, 0x7d0
jbe 0x4a767c
call fcn.0040ada0
mov edx, dword [ebp - 0x20d4]
mov dword [edx + 0x330], eax
lea ecx, [ebp - 0x1920]
call fcn.0043b330
push 0
push 0
push 0
push 0
push 0xea74
lea eax, [ebp - 0x1920]
push eax
call fcn.00509d80
mov byte [ebp - 0x1914], 0
push 0x103
push 0
lea ecx, [ebp - 0x1913]
push ecx
call fcn.005454d0
add esp, 0xc
push 0x104
push 0
lea edx, [ebp - 0x1914]
push edx
call fcn.005454d0
add esp, 0xc
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x87]
push ecx
mov edx, dword [ebp - 0x20d4]
mov eax, dword [edx + 0x42]
push eax
push 0x57b260
lea ecx, [ebp - 0x1914]
push ecx
call fcn.00439720
add esp, 0x10
lea edx, [ebp - 0x1914]
push edx
lea eax, [ebp - 0x1920]
push eax
mov ecx, 0x7c46b0
call fcn.005063f0
mov ecx, dword [ebp - 0x20d4]
mov dl, byte [ecx + 0x61]
mov byte [ebp - 0x16f8], dl
mov eax, dword [ebp - 0x20d4]
mov cl, byte [eax + 0x62]
mov byte [ebp - 0x1808], cl
mov dword [ebp - 0x16f0], 0xe
mov dword [ebp - 0x16f4], 1
cmp dword [ebp - 0x20d4], 0
je 0x4aff39
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x66]
test eax, eax
je 0x4a770e
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x1e]
cmp edx, 5
je 0x4a76e7
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x1e]
cmp ecx, 6
jne 0x4a770e
mov edx, dword [ebp - 0x20d4]
push edx
mov eax, dword [ebp - 0x20d4]
add eax, 0x4f
push eax
push 0x57f790
lea ecx, [ebp - 0x16ec]
push ecx
call fcn.005456a9
add esp, 0x10
jmp 0x4a7733
mov edx, dword [ebp - 0x20d4]
push edx
mov eax, dword [ebp - 0x20d4]
add eax, 0x4f
push eax
push 0x57f784
lea ecx, [ebp - 0x16ec]
push ecx
call fcn.005456a9
add esp, 0x10
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0xa8]
test eax, eax
je 0x4a77b6
push 0
push 0xffff84
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x46]
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1e34], esp
push edx
push 0x57f778
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x20d8], eax
lea ecx, [ebp - 0x34]
call fcn.0043b690
mov dword [ebp - 0x20dc], eax
mov ecx, dword [ebp - 0x20dc]
mov dword [ebp - 0x20e0], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x20e0]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x34]
call fcn.0043b710
jmp 0x4a7ba6
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x1e]
mov dword [ebp - 0x20e4], ecx
cmp dword [ebp - 0x20e4], 0x3d
ja case.0x4a77e0.5
mov edx, dword [ebp - 0x20e4]
movzx eax, byte [edx + 0x4aff98]
jmp dword [eax*4 + 0x4aff78]
push str.GOLD
mov ecx, dword [ebp - 0x20d4]
push ecx
call fcn.00548180
add esp, 8
test eax, eax
jne 0x4a7818
push 0x57f770
push 0x104
lea edx, [ebp - 0x16ec]
push edx
call fcn.005477d6
add esp, 0xc
jmp 0x4a7ba6
jmp 0x4a7ba6
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x23]
cmp ecx, 0x10
jne 0x4a78c1
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x3d]
cmp eax, 1
jne 0x4a78c1
push 0
push 0xffff84
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x48]
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1e38], esp
push edx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x46]
push edx
push 0x57f760
push eax
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x20e8], eax
lea ecx, [ebp - 0x58]
call fcn.0043b690
mov dword [ebp - 0x20ec], eax
mov eax, dword [ebp - 0x20ec]
mov dword [ebp - 0x20f0], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x20f0]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x58]
call fcn.0043b710
jmp 0x4a7949
push 0
push 0xffff84
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x48]
cdq
mov ecx, 0x64
idiv ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1e3c], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x46]
cdq
mov esi, 0x64
idiv esi
push eax
push 0x57f760
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x20f4], eax
lea ecx, [ebp - 0x7c]
call fcn.0043b690
mov dword [ebp - 0x20f8], eax
mov eax, dword [ebp - 0x20f8]
mov dword [ebp - 0x20fc], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x20fc]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7c]
call fcn.0043b710
jmp 0x4a7ba6
push 0
push 0xffff84
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x48]
cdq
mov ecx, 0x3e8
idiv ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1e40], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x46]
cdq
mov esi, 0x3e8
idiv esi
push eax
push 0x57f750
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2100], eax
lea ecx, [ebp - 0xa0]
call fcn.0043b690
mov dword [ebp - 0x2104], eax
mov eax, dword [ebp - 0x2104]
mov dword [ebp - 0x2108], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x2108]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xa0]
call fcn.0043b710
jmp 0x4a7ba6
push 0
push 0xffff84
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x48]
cdq
mov ecx, 0x3e8
idiv ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1e44], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x46]
cdq
mov esi, 0x3e8
idiv esi
push eax
push 0x57f740
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x210c], eax
lea ecx, [ebp - 0xc4]
call fcn.0043b690
mov dword [ebp - 0x2110], eax
mov eax, dword [ebp - 0x2110]
mov dword [ebp - 0x2114], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x2114]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc4]
call fcn.0043b710
jmp 0x4a7ba6
push 0
push 0xffff84
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x46]
cdq
mov ecx, 0x64
idiv ecx
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1e48], esp
push eax
push 0x57f778
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2118], eax
lea ecx, [ebp - 0xe8]
call fcn.0043b690
mov dword [ebp - 0x211c], eax
mov eax, dword [ebp - 0x211c]
mov dword [ebp - 0x2120], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x2120]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe8]
call fcn.0043b710
jmp 0x4a7ba6
jmp 0x4a7ba6
push 0
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x46]
xor ecx, ecx
cmp eax, 0x3e8
setg cl
sub ecx, 1
and ecx, 0xff00017b
add ecx, 0xffff84
push ecx
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x48]
cdq
mov ecx, 0x3e8
idiv ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1e4c], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x46]
cdq
mov esi, 0x3e8
idiv esi
push eax
push 0x57f730
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2124], eax
lea ecx, [ebp - 0x10c]
call fcn.0043b690
mov dword [ebp - 0x2128], eax
mov eax, dword [ebp - 0x2128]
mov dword [ebp - 0x212c], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x212c]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10c]
call fcn.0043b710
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x20]
mov dword [ebp - 0x1938], eax
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x1e]
cmp edx, 0x34
je 0x4a7bd4
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x1e]
cmp ecx, 0x3a
jne 0x4a7c0e
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x4d]
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x4e]
and eax, 0xff
movzx edx, al
shl edx, 8
or ecx, edx
movzx eax, cx
cdq
mov ecx, 0xa
idiv ecx
mov dword [ebp - 0x1938], eax
push str.GOLD
mov edx, dword [ebp - 0x20d4]
push edx
call fcn.00548180
add esp, 8
test eax, eax
jne 0x4a7c9a
push 0
push 0xffffff
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1e50], esp
mov ecx, dword [ebp - 0x20d4]
mov edx, dword [ecx + 0x3e]
push edx
push 0x57f724
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2130], eax
lea ecx, [ebp - 0x130]
call fcn.0043b690
mov dword [ebp - 0x2134], eax
mov eax, dword [ebp - 0x2134]
mov dword [ebp - 0x2138], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x2138]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x130]
call fcn.0043b710
jmp 0x4a7d09
push 0
push 0xffffff
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1e54], esp
mov eax, dword [ebp - 0x1938]
push eax
push 0x57f718
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x213c], eax
lea ecx, [ebp - 0x154]
call fcn.0043b690
mov dword [ebp - 0x2140], eax
mov ecx, dword [ebp - 0x2140]
mov dword [ebp - 0x2144], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x2144]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x154]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x1e]
mov dword [ebp - 0x2148], ecx
mov edx, dword [ebp - 0x2148]
sub edx, 0xa
mov dword [ebp - 0x2148], edx
cmp dword [ebp - 0x2148], 0x32
ja case.0x4a7d42.2
mov eax, dword [ebp - 0x2148]
movzx ecx, byte [eax + 0x4affe0]
jmp dword [ecx*4 + 0x4affd8]
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5e]
test eax, eax
jle 0x4a7e22
push 0
push 0xceff94
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x5e]
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1e58], esp
push edx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2c]
shr edx, 8
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x6c]
add ecx, edx
mov edx, dword [ebp - 0x20d4]
movzx edx, byte [edx + 0x5e]
add ecx, edx
push ecx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2c]
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x6a]
add ecx, edx
push ecx
push 0x57f704
push eax
call fcn.004a7410
add esp, 0x14
mov dword [ebp - 0x214c], eax
lea ecx, [ebp - 0x178]
call fcn.0043b690
mov dword [ebp - 0x2150], eax
mov eax, dword [ebp - 0x2150]
mov dword [ebp - 0x2154], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x2154]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x178]
call fcn.0043b710
jmp case.0x4a7d42.2
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2c]
test eax, eax
je case.0x4a7d42.2
push 0
push 0xffffff
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2c]
shr edx, 8
and edx, 0xff
movzx eax, dl
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x6c]
add eax, edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1e5c], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2c]
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x6a]
add edx, eax
push edx
push 0x57f6f4
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2158], eax
lea ecx, [ebp - 0x19c]
call fcn.0043b690
mov dword [ebp - 0x215c], eax
mov ecx, dword [ebp - 0x215c]
mov dword [ebp - 0x2160], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x2160]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x19c]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x1e]
mov dword [ebp - 0x2164], ecx
mov edx, dword [ebp - 0x2164]
sub edx, 0xa
mov dword [ebp - 0x2164], edx
cmp dword [ebp - 0x2164], 0x32
ja case.0x4a7f17.2
mov eax, dword [ebp - 0x2164]
movzx ecx, byte [eax + 0x4b001c]
jmp dword [ecx*4 + 0x4b0014]
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5f]
test eax, eax
jle 0x4a81ba
mov ecx, dword [ebp - 0x20d4]
mov dl, byte [ecx + 0x2e]
mov byte [ebp - 0x2168], dl
cmp byte [ebp - 0x2168], 0
je 0x4a7f67
cmp byte [ebp - 0x2168], 1
je 0x4a802e
cmp byte [ebp - 0x2168], 2
je 0x4a80f5
jmp 0x4a81b5
push 0
push 0xceff94
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5f]
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1e60], esp
push ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
shr ecx, 8
and ecx, 0xff
movzx eax, cl
mov ecx, dword [ebp - 0x20d4]
movzx ecx, word [ecx + 0x70]
add eax, ecx
mov ecx, dword [ebp - 0x20d4]
movzx ecx, byte [ecx + 0x5f]
add eax, ecx
push eax
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
and ecx, 0xff
movzx eax, cl
mov ecx, dword [ebp - 0x20d4]
movzx ecx, word [ecx + 0x6e]
add eax, ecx
push eax
push 0x57f6d8
push edx
call fcn.004a7410
add esp, 0x14
mov dword [ebp - 0x216c], eax
lea ecx, [ebp - 0x1c0]
call fcn.0043b690
mov dword [ebp - 0x2170], eax
mov edx, dword [ebp - 0x2170]
mov dword [ebp - 0x2174], edx
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x2174]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c0]
call fcn.0043b710
jmp 0x4a81b5
push 0
push 0xceff94
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x5f]
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1e64], esp
push edx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2f]
shr edx, 8
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x70]
add ecx, edx
mov edx, dword [ebp - 0x20d4]
movzx edx, byte [edx + 0x5f]
add ecx, edx
push ecx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2f]
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x6e]
add ecx, edx
push ecx
push 0x57f6bc
push eax
call fcn.004a7410
add esp, 0x14
mov dword [ebp - 0x2178], eax
lea ecx, [ebp - 0x1e4]
call fcn.0043b690
mov dword [ebp - 0x217c], eax
mov eax, dword [ebp - 0x217c]
mov dword [ebp - 0x2180], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x2180]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1e4]
call fcn.0043b710
jmp 0x4a81b5
push 0
push 0xceff94
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5f]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1e68], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
shr eax, 8
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x70]
add edx, eax
mov eax, dword [ebp - 0x20d4]
movzx eax, byte [eax + 0x5f]
add edx, eax
push edx
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x6e]
add edx, eax
push edx
push 0x57f6a0
push ecx
call fcn.004a7410
add esp, 0x14
mov dword [ebp - 0x2184], eax
lea ecx, [ebp - 0x208]
call fcn.0043b690
mov dword [ebp - 0x2188], eax
mov ecx, dword [ebp - 0x2188]
mov dword [ebp - 0x218c], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x218c]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x208]
call fcn.0043b710
jmp case.0x4a7f17.2
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
test ecx, ecx
je case.0x4a7f17.2
mov edx, dword [ebp - 0x20d4]
mov al, byte [edx + 0x2e]
mov byte [ebp - 0x2190], al
cmp byte [ebp - 0x2190], 0
je 0x4a8203
cmp byte [ebp - 0x2190], 1
je 0x4a82b2
cmp byte [ebp - 0x2190], 2
je 0x4a8362
jmp case.0x4a7f17.2
push 0
push 0xffffff
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2f]
shr edx, 8
and edx, 0xff
movzx eax, dl
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x70]
add eax, edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1e6c], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x6e]
add edx, eax
push edx
push 0x57f68c
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2194], eax
lea ecx, [ebp - 0x22c]
call fcn.0043b690
mov dword [ebp - 0x2198], eax
mov ecx, dword [ebp - 0x2198]
mov dword [ebp - 0x219c], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x219c]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x22c]
call fcn.0043b710
jmp case.0x4a7f17.2
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x70]
add edx, ecx
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1e70], esp
push edx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2f]
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x6e]
add ecx, edx
push ecx
push 0x57f678
push eax
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x21a0], eax
lea ecx, [ebp - 0x250]
call fcn.0043b690
mov dword [ebp - 0x21a4], eax
mov eax, dword [ebp - 0x21a4]
mov dword [ebp - 0x21a8], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x21a8]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x250]
call fcn.0043b710
jmp case.0x4a7f17.2
push 0
push 0xffffff
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x70]
add ecx, eax
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1e74], esp
push ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
and ecx, 0xff
movzx eax, cl
mov ecx, dword [ebp - 0x20d4]
movzx ecx, word [ecx + 0x6e]
add eax, ecx
push eax
push 0x57f664
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x21ac], eax
lea ecx, [ebp - 0x274]
call fcn.0043b690
mov dword [ebp - 0x21b0], eax
mov edx, dword [ebp - 0x21b0]
mov dword [ebp - 0x21b4], edx
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x21b4]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x274]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x1e]
mov dword [ebp - 0x21b8], edx
mov eax, dword [ebp - 0x21b8]
sub eax, 5
mov dword [ebp - 0x21b8], eax
cmp dword [ebp - 0x21b8], 0x37
ja case.0x4a8445.2
mov ecx, dword [ebp - 0x21b8]
movzx edx, byte [ecx + 0x4b0074]
jmp dword [edx*4 + 0x4b0050]
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5c]
test ecx, ecx
jle 0x4a8523
push 0
push 0xceff94
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5c]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1e78], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2c]
shr eax, 8
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x6c]
add edx, eax
mov eax, dword [ebp - 0x20d4]
movzx eax, byte [eax + 0x5c]
add edx, eax
push edx
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2c]
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x6a]
add edx, eax
push edx
push 0x57f704
push ecx
call fcn.004a7410
add esp, 0x14
mov dword [ebp - 0x21bc], eax
lea ecx, [ebp - 0x298]
call fcn.0043b690
mov dword [ebp - 0x21c0], eax
mov ecx, dword [ebp - 0x21c0]
mov dword [ebp - 0x21c4], ecx
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x21c4]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x298]
call fcn.0043b710
jmp 0x4a85df
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2c]
test ecx, ecx
je 0x4a85df
push 0
push 0xffffff
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2c]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x6c]
add ecx, eax
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1e7c], esp
push ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2c]
and ecx, 0xff
movzx eax, cl
mov ecx, dword [ebp - 0x20d4]
movzx ecx, word [ecx + 0x6a]
add eax, ecx
push eax
push 0x57f6f4
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x21c8], eax
lea ecx, [ebp - 0x2bc]
call fcn.0043b690
mov dword [ebp - 0x21cc], eax
mov edx, dword [ebp - 0x21cc]
mov dword [ebp - 0x21d0], edx
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x21d0]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2bc]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x5d]
test edx, edx
jle 0x4a887b
mov eax, dword [ebp - 0x20d4]
mov cl, byte [eax + 0x2e]
mov byte [ebp - 0x21d4], cl
cmp byte [ebp - 0x21d4], 0
je 0x4a8628
cmp byte [ebp - 0x21d4], 1
je 0x4a86ed
cmp byte [ebp - 0x21d4], 2
je 0x4a87b4
jmp 0x4a8876
push 0
push 0xceff94
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5d]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1e80], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
shr eax, 8
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x70]
add edx, eax
mov eax, dword [ebp - 0x20d4]
movzx eax, byte [eax + 0x5d]
add edx, eax
push edx
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x6e]
add edx, eax
push edx
push 0x57f6d8
push ecx
call fcn.004a7410
add esp, 0x14
mov dword [ebp - 0x21d8], eax
lea ecx, [ebp - 0x2e0]
call fcn.0043b690
mov dword [ebp - 0x21dc], eax
mov ecx, dword [ebp - 0x21dc]
mov dword [ebp - 0x21e0], ecx
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x21e0]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2e0]
call fcn.0043b710
jmp 0x4a8876
push 0
push 0xceff94
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5d]
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1e84], esp
push ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
shr ecx, 8
and ecx, 0xff
movzx eax, cl
mov ecx, dword [ebp - 0x20d4]
movzx ecx, word [ecx + 0x70]
add eax, ecx
mov ecx, dword [ebp - 0x20d4]
movzx ecx, byte [ecx + 0x5d]
add eax, ecx
push eax
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
and ecx, 0xff
movzx eax, cl
mov ecx, dword [ebp - 0x20d4]
movzx ecx, word [ecx + 0x6e]
add eax, ecx
push eax
push 0x57f6bc
push edx
call fcn.004a7410
add esp, 0x14
mov dword [ebp - 0x21e4], eax
lea ecx, [ebp - 0x304]
call fcn.0043b690
mov dword [ebp - 0x21e8], eax
mov edx, dword [ebp - 0x21e8]
mov dword [ebp - 0x21ec], edx
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x21ec]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x304]
call fcn.0043b710
jmp 0x4a8876
push 0
push 0xceff94
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x5d]
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1e88], esp
push edx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2f]
shr edx, 8
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x70]
add ecx, edx
mov edx, dword [ebp - 0x20d4]
movzx edx, byte [edx + 0x5d]
add ecx, edx
push ecx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2f]
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x6e]
add ecx, edx
push ecx
push 0x57f6a0
push eax
call fcn.004a7410
add esp, 0x14
mov dword [ebp - 0x21f0], eax
lea ecx, [ebp - 0x328]
call fcn.0043b690
mov dword [ebp - 0x21f4], eax
mov eax, dword [ebp - 0x21f4]
mov dword [ebp - 0x21f8], eax
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x21f8]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x328]
call fcn.0043b710
jmp 0x4a8acd
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
test eax, eax
je 0x4a8acd
mov ecx, dword [ebp - 0x20d4]
mov dl, byte [ecx + 0x2e]
mov byte [ebp - 0x21fc], dl
cmp byte [ebp - 0x21fc], 0
je 0x4a88c4
cmp byte [ebp - 0x21fc], 1
je 0x4a8974
cmp byte [ebp - 0x21fc], 2
je 0x4a8a23
jmp 0x4a8acd
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x70]
add edx, ecx
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1e8c], esp
push edx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2f]
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x6e]
add ecx, edx
push ecx
push 0x57f68c
push eax
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2200], eax
lea ecx, [ebp - 0x34c]
call fcn.0043b690
mov dword [ebp - 0x2204], eax
mov eax, dword [ebp - 0x2204]
mov dword [ebp - 0x2208], eax
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x2208]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x34c]
call fcn.0043b710
jmp 0x4a8acd
push 0
push 0xffffff
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x70]
add ecx, eax
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1e90], esp
push ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
and ecx, 0xff
movzx eax, cl
mov ecx, dword [ebp - 0x20d4]
movzx ecx, word [ecx + 0x6e]
add eax, ecx
push eax
push 0x57f678
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x220c], eax
lea ecx, [ebp - 0x370]
call fcn.0043b690
mov dword [ebp - 0x2210], eax
mov edx, dword [ebp - 0x2210]
mov dword [ebp - 0x2214], edx
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x2214]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x370]
call fcn.0043b710
jmp 0x4a8acd
push 0
push 0xffffff
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2f]
shr edx, 8
and edx, 0xff
movzx eax, dl
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x70]
add eax, edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1e94], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x6e]
add edx, eax
push edx
push 0x57f664
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2218], eax
lea ecx, [ebp - 0x394]
call fcn.0043b690
mov dword [ebp - 0x221c], eax
mov ecx, dword [ebp - 0x221c]
mov dword [ebp - 0x2220], ecx
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x2220]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x394]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5f]
test ecx, ecx
jle 0x4a8b76
push 0
push 0xceff94
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5f]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1e98], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, byte [eax + 0x5f]
add edx, eax
push edx
push 0x57f650
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2224], eax
lea ecx, [ebp - 0x3b8]
call fcn.0043b690
mov dword [ebp - 0x2228], eax
mov ecx, dword [ebp - 0x2228]
mov dword [ebp - 0x222c], ecx
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x222c]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3b8]
call fcn.0043b710
jmp 0x4a8c09
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
and ecx, 0xff
movzx edx, cl
test edx, edx
jle 0x4a8c09
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
and ecx, 0xff
movzx edx, cl
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1e9c], esp
push edx
push 0x57f644
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2230], eax
lea ecx, [ebp - 0x3dc]
call fcn.0043b690
mov dword [ebp - 0x2234], eax
mov ecx, dword [ebp - 0x2234]
mov dword [ebp - 0x2238], ecx
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x2238]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3dc]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x60]
test ecx, ecx
jle 0x4a8cb2
push 0
push 0xceff94
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x60]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1ea0], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2a]
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, byte [eax + 0x60]
add edx, eax
push edx
push 0x57f630
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x223c], eax
lea ecx, [ebp - 0x400]
call fcn.0043b690
mov dword [ebp - 0x2240], eax
mov ecx, dword [ebp - 0x2240]
mov dword [ebp - 0x2244], ecx
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x2244]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x400]
call fcn.0043b710
jmp 0x4a8d45
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2a]
and ecx, 0xff
movzx edx, cl
test edx, edx
jle 0x4a8d45
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2a]
and ecx, 0xff
movzx edx, cl
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1ea4], esp
push edx
push 0x57f624
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2248], eax
lea ecx, [ebp - 0x424]
call fcn.0043b690
mov dword [ebp - 0x224c], eax
mov ecx, dword [ebp - 0x224c]
mov dword [ebp - 0x2250], ecx
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x2250]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x424]
call fcn.0043b710
jmp case.0x4a8445.2
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5c]
test ecx, ecx
jle 0x4a8e21
push 0
push 0xceff94
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5c]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1ea8], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x74]
add edx, eax
mov eax, dword [ebp - 0x20d4]
movzx eax, byte [eax + 0x5c]
add edx, eax
push edx
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x72]
add edx, eax
push edx
push 0x57f60c
push ecx
call fcn.004a7410
add esp, 0x14
mov dword [ebp - 0x2254], eax
lea ecx, [ebp - 0x448]
call fcn.0043b690
mov dword [ebp - 0x2258], eax
mov ecx, dword [ebp - 0x2258]
mov dword [ebp - 0x225c], ecx
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x225c]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x448]
call fcn.0043b710
jmp 0x4a8edd
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
test ecx, ecx
je 0x4a8edd
push 0
push 0xffffff
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x74]
add ecx, eax
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1eac], esp
push ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
and ecx, 0xff
movzx eax, cl
mov ecx, dword [ebp - 0x20d4]
movzx ecx, word [ecx + 0x72]
add eax, ecx
push eax
push 0x57f5f8
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2260], eax
lea ecx, [ebp - 0x46c]
call fcn.0043b690
mov dword [ebp - 0x2264], eax
mov edx, dword [ebp - 0x2264]
mov dword [ebp - 0x2268], edx
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x2268]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x46c]
call fcn.0043b710
jmp case.0x4a8445.2
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x5c]
test edx, edx
jle 0x4a8f8c
push 0
push 0xceff94
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5c]
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1eb0], esp
push ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2c]
and ecx, 0xff
movzx eax, cl
mov ecx, dword [ebp - 0x20d4]
movzx ecx, byte [ecx + 0x5c]
add eax, ecx
push eax
push 0x57f5e8
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x226c], eax
lea ecx, [ebp - 0x490]
call fcn.0043b690
mov dword [ebp - 0x2270], eax
mov edx, dword [ebp - 0x2270]
mov dword [ebp - 0x2274], edx
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x2274]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x490]
call fcn.0043b710
jmp 0x4a9016
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2c]
test edx, edx
je 0x4a9016
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2c]
and ecx, 0xff
movzx edx, cl
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1eb4], esp
push edx
push 0x57f5dc
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2278], eax
lea ecx, [ebp - 0x4b4]
call fcn.0043b690
mov dword [ebp - 0x227c], eax
mov ecx, dword [ebp - 0x227c]
mov dword [ebp - 0x2280], ecx
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x2280]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4b4]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5d]
test ecx, ecx
jle 0x4a90bf
push 0
push 0xceff94
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5d]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1eb8], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, byte [eax + 0x5d]
add edx, eax
push edx
push 0x57f5c8
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2284], eax
lea ecx, [ebp - 0x4d8]
call fcn.0043b690
mov dword [ebp - 0x2288], eax
mov ecx, dword [ebp - 0x2288]
mov dword [ebp - 0x228c], ecx
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x228c]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4d8]
call fcn.0043b710
jmp 0x4a9152
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
and ecx, 0xff
movzx edx, cl
test edx, edx
jle 0x4a9152
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
and ecx, 0xff
movzx edx, cl
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1ebc], esp
push edx
push 0x57f5b8
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2290], eax
lea ecx, [ebp - 0x4fc]
call fcn.0043b690
mov dword [ebp - 0x2294], eax
mov ecx, dword [ebp - 0x2294]
mov dword [ebp - 0x2298], ecx
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x2298]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4fc]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5e]
test ecx, ecx
jle 0x4a91fe
push 0
push 0xceff94
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5e]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1ec0], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
shr eax, 8
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, byte [eax + 0x5e]
add edx, eax
push edx
push 0x57f5a0
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x229c], eax
lea ecx, [ebp - 0x520]
call fcn.0043b690
mov dword [ebp - 0x22a0], eax
mov ecx, dword [ebp - 0x22a0]
mov dword [ebp - 0x22a4], ecx
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x22a4]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x520]
call fcn.0043b710
jmp 0x4a9297
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
test edx, edx
je 0x4a9297
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1ec4], esp
push edx
push 0x57f590
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x22a8], eax
lea ecx, [ebp - 0x544]
call fcn.0043b690
mov dword [ebp - 0x22ac], eax
mov ecx, dword [ebp - 0x22ac]
mov dword [ebp - 0x22b0], ecx
mov byte [ebp - 4], 0x26
mov edx, dword [ebp - 0x22b0]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x544]
call fcn.0043b710
jmp case.0x4a8445.2
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5c]
test ecx, ecx
jle 0x4a934e
push 0
push 0xceff94
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5c]
imul eax, eax, 0xa
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1ec8], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, byte [eax + 0x5c]
add edx, eax
imul edx, edx, 0xa
push edx
push 0x57f574
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x22b4], eax
lea ecx, [ebp - 0x568]
call fcn.0043b690
mov dword [ebp - 0x22b8], eax
mov ecx, dword [ebp - 0x22b8]
mov dword [ebp - 0x22bc], ecx
mov byte [ebp - 4], 0x27
mov edx, dword [ebp - 0x22bc]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x568]
call fcn.0043b710
jmp 0x4a93e1
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
test ecx, ecx
je 0x4a93e1
push 0
push 0xffffff
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx ecx, al
imul ecx, ecx, 0xa
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1ecc], esp
push ecx
push 0x57f564
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x22c0], eax
lea ecx, [ebp - 0x58c]
call fcn.0043b690
mov dword [ebp - 0x22c4], eax
mov eax, dword [ebp - 0x22c4]
mov dword [ebp - 0x22c8], eax
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x22c8]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x58c]
call fcn.0043b710
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5d]
test eax, eax
jle 0x4a948e
push 0
push 0xceff94
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x5d]
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1ed0], esp
push edx
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x5d]
mov ecx, dword [ebp - 0x20d4]
movzx ecx, word [ecx + 0x2a]
shr ecx, 8
and ecx, 0xff
movzx ecx, cl
add edx, ecx
push edx
push 0x57f650
push eax
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x22cc], eax
lea ecx, [ebp - 0x5b0]
call fcn.0043b690
mov dword [ebp - 0x22d0], eax
mov edx, dword [ebp - 0x22d0]
mov dword [ebp - 0x22d4], edx
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x22d4]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5b0]
call fcn.0043b710
jmp 0x4a951b
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2a]
test edx, edx
je 0x4a951b
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2a]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1ed4], esp
push edx
push 0x57f644
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x22d8], eax
lea ecx, [ebp - 0x5d4]
call fcn.0043b690
mov dword [ebp - 0x22dc], eax
mov ecx, dword [ebp - 0x22dc]
mov dword [ebp - 0x22e0], ecx
mov byte [ebp - 4], 0x2a
mov edx, dword [ebp - 0x22e0]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5d4]
call fcn.0043b710
jmp case.0x4a8445.2
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
and ecx, 0xff
movzx edx, cl
test edx, edx
je 0x4a95b3
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
and ecx, 0xff
movzx edx, cl
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1ed8], esp
push edx
push 0x57f554
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x22e4], eax
lea ecx, [ebp - 0x5f8]
call fcn.0043b690
mov dword [ebp - 0x22e8], eax
mov ecx, dword [ebp - 0x22e8]
mov dword [ebp - 0x22ec], ecx
mov byte [ebp - 4], 0x2b
mov edx, dword [ebp - 0x22ec]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5f8]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5c]
test ecx, ecx
jle 0x4a9665
push 0
push 0xceff94
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5c]
imul eax, eax, 0xa
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1edc], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, byte [eax + 0x5c]
add edx, eax
imul edx, edx, 0xa
push edx
push 0x57f538
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x22f0], eax
lea ecx, [ebp - 0x61c]
call fcn.0043b690
mov dword [ebp - 0x22f4], eax
mov ecx, dword [ebp - 0x22f4]
mov dword [ebp - 0x22f8], ecx
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0x22f8]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x61c]
call fcn.0043b710
jmp 0x4a9705
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
test edx, edx
je 0x4a9705
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
imul edx, edx, 0xa
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1ee0], esp
push edx
push 0x57f528
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x22fc], eax
lea ecx, [ebp - 0x640]
call fcn.0043b690
mov dword [ebp - 0x2300], eax
mov ecx, dword [ebp - 0x2300]
mov dword [ebp - 0x2304], ecx
mov byte [ebp - 4], 0x2d
mov edx, dword [ebp - 0x2304]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x640]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5d]
test ecx, ecx
jle 0x4a97b7
push 0
push 0xceff94
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5c]
imul eax, eax, 0xa
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1ee4], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2a]
shr eax, 8
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, byte [eax + 0x5c]
add edx, eax
imul edx, edx, 0xa
push edx
push 0x57f50c
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2308], eax
lea ecx, [ebp - 0x664]
call fcn.0043b690
mov dword [ebp - 0x230c], eax
mov ecx, dword [ebp - 0x230c]
mov dword [ebp - 0x2310], ecx
mov byte [ebp - 4], 0x2e
mov edx, dword [ebp - 0x2310]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x664]
call fcn.0043b710
jmp 0x4a9857
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2a]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
test edx, edx
je 0x4a9857
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2a]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
imul edx, edx, 0xa
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1ee8], esp
push edx
push 0x57f4fc
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2314], eax
lea ecx, [ebp - 0x688]
call fcn.0043b690
mov dword [ebp - 0x2318], eax
mov ecx, dword [ebp - 0x2318]
mov dword [ebp - 0x231c], ecx
mov byte [ebp - 4], 0x2f
mov edx, dword [ebp - 0x231c]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x688]
call fcn.0043b710
jmp case.0x4a8445.2
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5c]
test ecx, ecx
jle 0x4a9995
mov dword [ebp - 0x1984], 0
mov dword [ebp - 0x1980], 0
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx ecx, al
cmp ecx, 0x64
jle 0x4a98c0
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, 0x64
sub edx, ecx
mov dword [ebp - 0x1984], edx
jmp 0x4a98dc
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
mov dword [ebp - 0x1984], edx
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5c]
cmp ecx, 0x64
jle 0x4a9904
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5c]
mov ecx, 0x64
sub ecx, eax
mov dword [ebp - 0x1980], ecx
jmp 0x4a9914
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5c]
mov dword [ebp - 0x1980], eax
push 0
push 0xceff94
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1eec], esp
mov edx, dword [ebp - 0x1980]
push edx
mov eax, dword [ebp - 0x1984]
add eax, dword [ebp - 0x1980]
push eax
push 0x57f4e8
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2320], eax
lea ecx, [ebp - 0x6ac]
call fcn.0043b690
mov dword [ebp - 0x2324], eax
mov ecx, dword [ebp - 0x2324]
mov dword [ebp - 0x2328], ecx
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x2328]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6ac]
call fcn.0043b710
jmp 0x4a9a7a
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
test ecx, ecx
je 0x4a9a7a
mov dword [ebp - 0x1988], 0
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx ecx, al
cmp ecx, 0x64
jle 0x4a99ef
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, 0x64
sub edx, ecx
mov dword [ebp - 0x1988], edx
jmp 0x4a9a0b
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
mov dword [ebp - 0x1988], edx
push 0
push 0xffffff
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1ef0], esp
mov ecx, dword [ebp - 0x1988]
push ecx
push 0x57f4dc
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x232c], eax
lea ecx, [ebp - 0x6d0]
call fcn.0043b690
mov dword [ebp - 0x2330], eax
mov edx, dword [ebp - 0x2330]
mov dword [ebp - 0x2334], edx
mov byte [ebp - 4], 0x31
mov eax, dword [ebp - 0x2334]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6d0]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x5d]
test edx, edx
jle 0x4a9b27
push 0
push 0xceff94
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5d]
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1ef4], esp
push ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2a]
shr ecx, 8
and ecx, 0xff
movzx eax, cl
mov ecx, dword [ebp - 0x20d4]
movzx ecx, byte [ecx + 0x5d]
add eax, ecx
push eax
push 0x57f4c8
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2338], eax
lea ecx, [ebp - 0x6f4]
call fcn.0043b690
mov dword [ebp - 0x233c], eax
mov edx, dword [ebp - 0x233c]
mov dword [ebp - 0x2340], edx
mov byte [ebp - 4], 0x32
mov eax, dword [ebp - 0x2340]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6f4]
call fcn.0043b710
jmp 0x4a9bb4
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2a]
test edx, edx
je 0x4a9bb4
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2a]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1ef8], esp
push edx
push 0x57f4bc
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2344], eax
lea ecx, [ebp - 0x718]
call fcn.0043b690
mov dword [ebp - 0x2348], eax
mov ecx, dword [ebp - 0x2348]
mov dword [ebp - 0x234c], ecx
mov byte [ebp - 4], 0x33
mov edx, dword [ebp - 0x234c]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x718]
call fcn.0043b710
jmp case.0x4a8445.2
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
and ecx, 0xff
movzx edx, cl
test edx, edx
jle 0x4a9c4c
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
and ecx, 0xff
movzx edx, cl
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1efc], esp
push edx
push 0x57f554
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2350], eax
lea ecx, [ebp - 0x73c]
call fcn.0043b690
mov dword [ebp - 0x2354], eax
mov ecx, dword [ebp - 0x2354]
mov dword [ebp - 0x2358], ecx
mov byte [ebp - 4], 0x34
mov edx, dword [ebp - 0x2358]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x73c]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5c]
test ecx, ecx
jle 0x4a9cfe
push 0
push 0xceff94
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5c]
imul eax, eax, 0xa
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f00], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, byte [eax + 0x5c]
add edx, eax
imul edx, edx, 0xa
push edx
push 0x57f4a0
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x235c], eax
lea ecx, [ebp - 0x760]
call fcn.0043b690
mov dword [ebp - 0x2360], eax
mov ecx, dword [ebp - 0x2360]
mov dword [ebp - 0x2364], ecx
mov byte [ebp - 4], 0x35
mov edx, dword [ebp - 0x2364]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x760]
call fcn.0043b710
jmp 0x4a9d9e
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
test edx, edx
jle 0x4a9d9e
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
imul edx, edx, 0xa
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1f04], esp
push edx
push 0x57f48c
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2368], eax
lea ecx, [ebp - 0x784]
call fcn.0043b690
mov dword [ebp - 0x236c], eax
mov ecx, dword [ebp - 0x236c]
mov dword [ebp - 0x2370], ecx
mov byte [ebp - 4], 0x36
mov edx, dword [ebp - 0x2370]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x784]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x5d]
test ecx, ecx
jle 0x4a9e50
push 0
push 0xceff94
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5d]
imul eax, eax, 0xa
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f08], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, byte [eax + 0x5d]
add edx, eax
imul edx, edx, 0xa
push edx
push 0x57f470
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2374], eax
lea ecx, [ebp - 0x7a8]
call fcn.0043b690
mov dword [ebp - 0x2378], eax
mov ecx, dword [ebp - 0x2378]
mov dword [ebp - 0x237c], ecx
mov byte [ebp - 4], 0x37
mov edx, dword [ebp - 0x237c]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7a8]
call fcn.0043b710
jmp 0x4a9ee3
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2a]
test ecx, ecx
je 0x4a9ee3
push 0
push 0xffffff
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2a]
shr eax, 8
and eax, 0xff
movzx ecx, al
imul ecx, ecx, 0xa
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1f0c], esp
push ecx
push 0x57f45c
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2380], eax
lea ecx, [ebp - 0x7cc]
call fcn.0043b690
mov dword [ebp - 0x2384], eax
mov eax, dword [ebp - 0x2384]
mov dword [ebp - 0x2388], eax
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x2388]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7cc]
call fcn.0043b710
jmp case.0x4a8445.2
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5c]
test eax, eax
jle 0x4a9fc1
push 0
push 0xceff94
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x5c]
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1f10], esp
push edx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x28]
shr edx, 8
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x74]
add ecx, edx
mov edx, dword [ebp - 0x20d4]
movzx edx, byte [edx + 0x5c]
add ecx, edx
push ecx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x28]
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x72]
add ecx, edx
push ecx
push 0x57f444
push eax
call fcn.004a7410
add esp, 0x14
mov dword [ebp - 0x238c], eax
lea ecx, [ebp - 0x7f0]
call fcn.0043b690
mov dword [ebp - 0x2390], eax
mov eax, dword [ebp - 0x2390]
mov dword [ebp - 0x2394], eax
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x2394]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7f0]
call fcn.0043b710
jmp case.0x4a8445.2
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
test eax, eax
je case.0x4a8445.2
push 0
push 0xffffff
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x28]
shr edx, 8
and edx, 0xff
movzx eax, dl
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x74]
add eax, edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f14], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x72]
add edx, eax
push edx
push 0x57f5f8
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2398], eax
lea ecx, [ebp - 0x814]
call fcn.0043b690
mov dword [ebp - 0x239c], eax
mov ecx, dword [ebp - 0x239c]
mov dword [ebp - 0x23a0], ecx
mov byte [ebp - 4], 0x3a
mov edx, dword [ebp - 0x23a0]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x814]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x1e]
mov dword [ebp - 0x23a4], ecx
mov edx, dword [ebp - 0x23a4]
sub edx, 0xa
mov dword [ebp - 0x23a4], edx
cmp dword [ebp - 0x23a4], 0x3d
ja case.0x4aa0b6.2
mov eax, dword [ebp - 0x23a4]
movzx ecx, byte [eax + 0x4b00bc]
jmp dword [ecx*4 + 0x4b00ac]
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x5d]
test eax, eax
jle 0x4aa196
push 0
push 0xceff94
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x5d]
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1f18], esp
push edx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2a]
shr edx, 8
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x78]
add ecx, edx
mov edx, dword [ebp - 0x20d4]
movzx edx, byte [edx + 0x5d]
add ecx, edx
push ecx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2a]
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x76]
add ecx, edx
push ecx
push 0x57f42c
push eax
call fcn.004a7410
add esp, 0x14
mov dword [ebp - 0x23a8], eax
lea ecx, [ebp - 0x838]
call fcn.0043b690
mov dword [ebp - 0x23ac], eax
mov eax, dword [ebp - 0x23ac]
mov dword [ebp - 0x23b0], eax
mov byte [ebp - 4], 0x3b
mov ecx, dword [ebp - 0x23b0]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x838]
call fcn.0043b710
jmp 0x4aa252
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2a]
test eax, eax
je 0x4aa252
push 0
push 0xffffff
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2a]
shr edx, 8
and edx, 0xff
movzx eax, dl
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x78]
add eax, edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f1c], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2a]
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x76]
add edx, eax
push edx
push 0x57f418
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x23b4], eax
lea ecx, [ebp - 0x85c]
call fcn.0043b690
mov dword [ebp - 0x23b8], eax
mov ecx, dword [ebp - 0x23b8]
mov dword [ebp - 0x23bc], ecx
mov byte [ebp - 4], 0x3c
mov edx, dword [ebp - 0x23bc]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x85c]
call fcn.0043b710
jmp case.0x4aa0b6.2
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2c]
test ecx, ecx
jle 0x4aa313
push 0
push 0xffffff
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2c]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x6c]
add ecx, eax
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1f20], esp
push ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2c]
and ecx, 0xff
movzx eax, cl
mov ecx, dword [ebp - 0x20d4]
movzx ecx, word [ecx + 0x6a]
add eax, ecx
push eax
push 0x57f6f4
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x23c0], eax
lea ecx, [ebp - 0x880]
call fcn.0043b690
mov dword [ebp - 0x23c4], eax
mov edx, dword [ebp - 0x23c4]
mov dword [ebp - 0x23c8], edx
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0x23c8]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x880]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2f]
test edx, edx
jle 0x4aa3d0
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x70]
add edx, ecx
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1f24], esp
push edx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2f]
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x6e]
add ecx, edx
push ecx
push 0x57f68c
push eax
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x23cc], eax
lea ecx, [ebp - 0x8a4]
call fcn.0043b690
mov dword [ebp - 0x23d0], eax
mov eax, dword [ebp - 0x23d0]
mov dword [ebp - 0x23d4], eax
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x23d4]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x8a4]
call fcn.0043b710
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2a]
and eax, 0xff
movzx ecx, al
test ecx, ecx
jle 0x4aa459
push 0
push 0xffffff
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2a]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f28], esp
push eax
push 0x57f408
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x23d8], eax
lea ecx, [ebp - 0x8c8]
call fcn.0043b690
mov dword [ebp - 0x23dc], eax
mov edx, dword [ebp - 0x23dc]
mov dword [ebp - 0x23e0], edx
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0x23e0]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x8c8]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x28]
shr edx, 8
and edx, 0xff
movzx eax, dl
test eax, eax
jle 0x4aa4f2
push 0
push 0xffffff
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x28]
shr edx, 8
and edx, 0xff
movzx eax, dl
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f2c], esp
push eax
push 0x57f3f8
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x23e4], eax
lea ecx, [ebp - 0x8ec]
call fcn.0043b690
mov dword [ebp - 0x23e8], eax
mov edx, dword [ebp - 0x23e8]
mov dword [ebp - 0x23ec], edx
mov byte [ebp - 4], 0x40
mov eax, dword [ebp - 0x23ec]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x8ec]
call fcn.0043b710
jmp case.0x4aa0b6.2
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2c]
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x6a]
add edx, ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x6c]
add edx, ecx
je 0x4aa5c9
push 0
push 0xffffff
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2c]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x6c]
add ecx, eax
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1f30], esp
push ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2c]
and ecx, 0xff
movzx eax, cl
mov ecx, dword [ebp - 0x20d4]
movzx ecx, word [ecx + 0x6a]
add eax, ecx
push eax
push 0x57f6f4
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x23f0], eax
lea ecx, [ebp - 0x910]
call fcn.0043b690
mov dword [ebp - 0x23f4], eax
mov edx, dword [ebp - 0x23f4]
mov dword [ebp - 0x23f8], edx
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0x23f8]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x910]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2f]
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x6e]
add edx, ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x70]
add edx, ecx
je 0x4aa831
mov edx, dword [ebp - 0x20d4]
mov al, byte [edx + 0x2e]
mov byte [ebp - 0x23fc], al
cmp byte [ebp - 0x23fc], 0
je 0x4aa628
cmp byte [ebp - 0x23fc], 1
je 0x4aa6d7
cmp byte [ebp - 0x23fc], 2
je 0x4aa787
jmp 0x4aa831
push 0
push 0xffffff
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2f]
shr edx, 8
and edx, 0xff
movzx eax, dl
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x70]
add eax, edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f34], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x6e]
add edx, eax
push edx
push 0x57f68c
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2400], eax
lea ecx, [ebp - 0x934]
call fcn.0043b690
mov dword [ebp - 0x2404], eax
mov ecx, dword [ebp - 0x2404]
mov dword [ebp - 0x2408], ecx
mov byte [ebp - 4], 0x42
mov edx, dword [ebp - 0x2408]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x934]
call fcn.0043b710
jmp 0x4aa831
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x70]
add edx, ecx
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1f38], esp
push edx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2f]
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x6e]
add ecx, edx
push ecx
push 0x57f678
push eax
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x240c], eax
lea ecx, [ebp - 0x958]
call fcn.0043b690
mov dword [ebp - 0x2410], eax
mov eax, dword [ebp - 0x2410]
mov dword [ebp - 0x2414], eax
mov byte [ebp - 4], 0x43
mov ecx, dword [ebp - 0x2414]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x958]
call fcn.0043b710
jmp 0x4aa831
push 0
push 0xffffff
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x70]
add ecx, eax
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1f3c], esp
push ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2f]
and ecx, 0xff
movzx eax, cl
mov ecx, dword [ebp - 0x20d4]
movzx ecx, word [ecx + 0x6e]
add eax, ecx
push eax
push 0x57f664
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2418], eax
lea ecx, [ebp - 0x97c]
call fcn.0043b690
mov dword [ebp - 0x241c], eax
mov edx, dword [ebp - 0x241c]
mov dword [ebp - 0x2420], edx
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0x2420]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x97c]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x28]
test edx, edx
je 0x4aa8ee
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x74]
add edx, ecx
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1f40], esp
push edx
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x28]
and edx, 0xff
movzx ecx, dl
mov edx, dword [ebp - 0x20d4]
movzx edx, word [edx + 0x72]
add ecx, edx
push ecx
push 0x57f5f8
push eax
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2424], eax
lea ecx, [ebp - 0x9a0]
call fcn.0043b690
mov dword [ebp - 0x2428], eax
mov eax, dword [ebp - 0x2428]
mov dword [ebp - 0x242c], eax
mov byte [ebp - 4], 0x45
mov ecx, dword [ebp - 0x242c]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9a0]
call fcn.0043b710
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2a]
test eax, eax
je 0x4aa9aa
push 0
push 0xffffff
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2a]
shr edx, 8
and edx, 0xff
movzx eax, dl
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x78]
add eax, edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f44], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2a]
and eax, 0xff
movzx edx, al
mov eax, dword [ebp - 0x20d4]
movzx eax, word [eax + 0x76]
add edx, eax
push edx
push 0x57f418
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2430], eax
lea ecx, [ebp - 0x9c4]
call fcn.0043b690
mov dword [ebp - 0x2434], eax
mov ecx, dword [ebp - 0x2434]
mov dword [ebp - 0x2438], ecx
mov byte [ebp - 4], 0x46
mov edx, dword [ebp - 0x2438]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9c4]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x32]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
test edx, edx
je 0x4aaa43
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x32]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1f48], esp
push edx
push 0x57f4dc
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x243c], eax
lea ecx, [ebp - 0x9e8]
call fcn.0043b690
mov dword [ebp - 0x2440], eax
mov ecx, dword [ebp - 0x2440]
mov dword [ebp - 0x2444], ecx
mov byte [ebp - 4], 0x47
mov edx, dword [ebp - 0x2444]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9e8]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x32]
and ecx, 0xff
movzx edx, cl
test edx, edx
je case.0x4aa0b6.2
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x32]
and ecx, 0xff
movzx edx, cl
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1f4c], esp
push edx
push 0x57f4bc
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2448], eax
lea ecx, [ebp - 0xa0c]
call fcn.0043b690
mov dword [ebp - 0x244c], eax
mov ecx, dword [ebp - 0x244c]
mov dword [ebp - 0x2450], ecx
mov byte [ebp - 4], 0x48
mov edx, dword [ebp - 0x2450]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xa0c]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x1e]
mov dword [ebp - 0x2454], ecx
mov edx, dword [ebp - 0x2454]
sub edx, 5
mov dword [ebp - 0x2454], edx
cmp dword [ebp - 0x2454], 0x19
ja case.0x4aab0f.2
mov eax, dword [ebp - 0x2454]
movzx ecx, byte [eax + 0x4b010c]
jmp dword [ecx*4 + 0x4b00fc]
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x31]
test eax, eax
jle 0x4aab33
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x31]
cmp edx, 8
jl 0x4aab58
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x67]
test ecx, ecx
jle 0x4aad47
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x67]
cmp eax, 8
jge 0x4aad47
push 0
push 0xffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f50], esp
push 0x574a9b
call fcn.004074b0
mov dword [ebp - 0x2458], eax
lea ecx, [ebp - 0x19ac]
call fcn.0043b690
mov dword [ebp - 0x245c], eax
mov byte [ebp - 4], 0x49
push 0x57f3ec
lea ecx, [ebp - 0x19ac]
call fcn.004084f0
mov dword [ebp - 0x1990], 0xff84
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x31]
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x67]
cmp edx, ecx
jne 0x4aac3a
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x32]
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x68]
add eax, edx
push eax
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x31]
mov edx, dword [ecx*4 + 0x5adc50]
push edx
push str._s_d
lea eax, [ebp - 0xa28]
push eax
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2460], eax
mov ecx, dword [ebp - 0x2460]
mov dword [ebp - 0x2464], ecx
mov byte [ebp - 4], 0x4a
mov edx, dword [ebp - 0x2464]
push edx
lea ecx, [ebp - 0x19ac]
call fcn.004b05d0
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0xa28]
call fcn.00408490
jmp 0x4aad26
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x32]
test ecx, ecx
jle 0x4aacb0
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x32]
push eax
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x31]
mov eax, dword [edx*4 + 0x5adc50]
push eax
push str._s_d
lea ecx, [ebp - 0xa44]
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2468], eax
mov edx, dword [ebp - 0x2468]
mov dword [ebp - 0x246c], edx
mov byte [ebp - 4], 0x4b
mov eax, dword [ebp - 0x246c]
push eax
lea ecx, [ebp - 0x19ac]
call fcn.004b05d0
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0xa44]
call fcn.00408490
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x67]
test edx, edx
jle 0x4aad26
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x68]
push ecx
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x67]
mov ecx, dword [eax*4 + 0x5adc50]
push ecx
push str._s_d
lea edx, [ebp - 0xa60]
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2470], eax
mov eax, dword [ebp - 0x2470]
mov dword [ebp - 0x2474], eax
mov byte [ebp - 4], 0x4c
mov ecx, dword [ebp - 0x2474]
push ecx
lea ecx, [ebp - 0x19ac]
call fcn.004b05d0
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0xa60]
call fcn.00408490
lea edx, [ebp - 0x19ac]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004375f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x19ac]
call fcn.0043b710
jmp case.0x4aab0f.2
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x67]
test ecx, ecx
jle 0x4aae07
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x67]
cmp eax, 8
jge 0x4aae07
push 0
push 0xff84
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x68]
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x32]
add edx, ecx
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1f54], esp
push edx
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x67]
mov ecx, dword [edx*4 + 0x5adc50]
push ecx
push 0x57f3d0
push eax
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2478], eax
lea ecx, [ebp - 0xa84]
call fcn.0043b690
mov dword [ebp - 0x247c], eax
mov edx, dword [ebp - 0x247c]
mov dword [ebp - 0x2480], edx
mov byte [ebp - 4], 0x4d
mov eax, dword [ebp - 0x2480]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xa84]
call fcn.0043b710
jmp 0x4aaeb1
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x31]
test edx, edx
jle 0x4aaeb1
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x31]
cmp ecx, 8
jge 0x4aaeb1
push 0
push 0xff84
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x32]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f58], esp
push eax
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x31]
mov edx, dword [eax*4 + 0x5adc50]
push edx
push 0x57f3d0
push ecx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2484], eax
lea ecx, [ebp - 0xaa8]
call fcn.0043b690
mov dword [ebp - 0x2488], eax
mov eax, dword [ebp - 0x2488]
mov dword [ebp - 0x248c], eax
mov byte [ebp - 4], 0x4e
mov ecx, dword [ebp - 0x248c]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xaa8]
call fcn.0043b710
jmp case.0x4aab0f.2
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x32]
test eax, eax
jg 0x4aaee4
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x68]
test edx, edx
jg 0x4aaee4
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x62]
test ecx, ecx
jle case.0x4aab0f.2
push 0
push 0xffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f5c], esp
push 0x574a9b
call fcn.004074b0
mov dword [ebp - 0x2490], eax
lea ecx, [ebp - 0x19d0]
call fcn.0043b690
mov dword [ebp - 0x2494], eax
mov byte [ebp - 4], 0x4f
push 0x57f3ec
lea ecx, [ebp - 0x19d0]
call fcn.004084f0
mov dword [ebp - 0x19b4], 0xff84
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x31]
test eax, eax
jle 0x4aafba
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x31]
cmp edx, 8
jge 0x4aafba
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x32]
push ecx
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x31]
mov ecx, dword [eax*4 + 0x5adc50]
push ecx
push str.__s_d
lea edx, [ebp - 0xac4]
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2498], eax
mov eax, dword [ebp - 0x2498]
mov dword [ebp - 0x249c], eax
mov byte [ebp - 4], 0x50
mov ecx, dword [ebp - 0x249c]
push ecx
lea ecx, [ebp - 0x19d0]
call fcn.004b05d0
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0xac4]
call fcn.00408490
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x61]
test eax, eax
jle 0x4ab03f
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x61]
cmp edx, 8
jge 0x4ab03f
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x62]
push ecx
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x61]
mov ecx, dword [eax*4 + 0x5adc50]
push ecx
push str.__s_d
lea edx, [ebp - 0xae0]
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x24a0], eax
mov eax, dword [ebp - 0x24a0]
mov dword [ebp - 0x24a4], eax
mov byte [ebp - 4], 0x51
mov ecx, dword [ebp - 0x24a4]
push ecx
lea ecx, [ebp - 0x19d0]
call fcn.004b05d0
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0xae0]
call fcn.00408490
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x67]
test eax, eax
jle 0x4ab0c4
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x67]
cmp edx, 8
jge 0x4ab0c4
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x68]
push ecx
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x67]
mov ecx, dword [eax*4 + 0x5adc50]
push ecx
push str._s_d
lea edx, [ebp - 0xafc]
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x24a8], eax
mov eax, dword [ebp - 0x24a8]
mov dword [ebp - 0x24ac], eax
mov byte [ebp - 4], 0x52
mov ecx, dword [ebp - 0x24ac]
push ecx
lea ecx, [ebp - 0x19d0]
call fcn.004b05d0
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0xafc]
call fcn.00408490
lea edx, [ebp - 0x19d0]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004375f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x19d0]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x1e]
mov dword [ebp - 0x24b0], ecx
mov edx, dword [ebp - 0x24b0]
sub edx, 5
mov dword [ebp - 0x24b0], edx
cmp dword [ebp - 0x24b0], 0x31
ja case.0x4ab11e.2
mov eax, dword [ebp - 0x24b0]
movzx ecx, byte [eax + 0x4b013c]
jmp dword [ecx*4 + 0x4b0128]
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x34]
test eax, eax
jle 0x4ab25e
push 0
push 0xffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f60], esp
push 0x574a9b
call fcn.004074b0
mov dword [ebp - 0x24b4], eax
lea ecx, [ebp - 0x19f4]
call fcn.0043b690
mov dword [ebp - 0x24b8], eax
mov byte [ebp - 4], 0x53
push 0x57f3bc
lea ecx, [ebp - 0x19f4]
call fcn.004084f0
mov dword [ebp - 0x19d8], 0xff84
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x34]
mov dword [ebp - 0x24bc], edx
mov eax, dword [ebp - 0x24bc]
sub eax, 1
mov dword [ebp - 0x24bc], eax
cmp dword [ebp - 0x24bc], 6
ja case.default.0x4ab1ba
mov ecx, dword [ebp - 0x24bc]
jmp dword [ecx*4 + 0x4b0170]
push 0x57f3b0
lea ecx, [ebp - 0x19f4]
call fcn.004b05f0
jmp case.default.0x4ab1ba
push 0x57f3a4
lea ecx, [ebp - 0x19f4]
call fcn.004b05f0
jmp case.default.0x4ab1ba
push 0x57f398
lea ecx, [ebp - 0x19f4]
call fcn.004b05f0
jmp case.default.0x4ab1ba
push 0x57f38c
lea ecx, [ebp - 0x19f4]
call fcn.004b05f0
jmp case.default.0x4ab1ba
push 0x57f380
lea ecx, [ebp - 0x19f4]
call fcn.004b05f0
jmp case.default.0x4ab1ba
push 0x57f370
lea ecx, [ebp - 0x19f4]
call fcn.004b05f0
jmp case.default.0x4ab1ba
push 0x57f360
lea ecx, [ebp - 0x19f4]
call fcn.004b05f0
lea edx, [ebp - 0x19f4]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004375f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x19f4]
call fcn.0043b710
jmp case.0x4ab11e.2
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x61]
test ecx, ecx
jle 0x4ab3c7
push 0
push 0xffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f64], esp
push 0x574a9b
call fcn.004074b0
mov dword [ebp - 0x24c0], eax
lea ecx, [ebp - 0x1a18]
call fcn.0043b690
mov dword [ebp - 0x24c4], eax
mov byte [ebp - 4], 0x54
push 0x57f3bc
lea ecx, [ebp - 0x1a18]
call fcn.004084f0
mov dword [ebp - 0x19fc], 0xff84
mov edx, dword [ebp - 0x16f8]
shl edx, 0x1f
sar edx, 0x1f
test edx, edx
je 0x4ab2e6
push 0x57f354
lea ecx, [ebp - 0x1a18]
call fcn.004b05f0
mov eax, dword [ebp - 0x16f8]
shl eax, 0x1e
sar eax, 0x1f
test eax, eax
je 0x4ab306
push 0x57f348
lea ecx, [ebp - 0x1a18]
call fcn.004b05f0
mov ecx, dword [ebp - 0x16f8]
shl ecx, 0x1d
sar ecx, 0x1f
test ecx, ecx
je 0x4ab326
push 0x57f33c
lea ecx, [ebp - 0x1a18]
call fcn.004b05f0
mov edx, dword [ebp - 0x16f8]
shl edx, 0x1c
sar edx, 0x1f
test edx, edx
je 0x4ab346
push 0x57f330
lea ecx, [ebp - 0x1a18]
call fcn.004b05f0
mov eax, dword [ebp - 0x16f8]
shl eax, 0x1b
sar eax, 0x1f
test eax, eax
je 0x4ab366
push 0x57f324
lea ecx, [ebp - 0x1a18]
call fcn.004b05f0
mov ecx, dword [ebp - 0x16f8]
shl ecx, 0x1a
sar ecx, 0x1f
test ecx, ecx
je 0x4ab386
push 0x57f314
lea ecx, [ebp - 0x1a18]
call fcn.004b05f0
mov edx, dword [ebp - 0x16f8]
shl edx, 0x19
sar edx, 0x1f
test edx, edx
je 0x4ab3a6
push 0x57f304
lea ecx, [ebp - 0x1a18]
call fcn.004b05f0
lea eax, [ebp - 0x1a18]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004375f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1a18]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x62]
test edx, edx
jle 0x4ab52b
push 0
push 0xffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f68], esp
push 0x574a9b
call fcn.004074b0
mov dword [ebp - 0x24c8], eax
lea ecx, [ebp - 0x1a3c]
call fcn.0043b690
mov dword [ebp - 0x24cc], eax
mov byte [ebp - 4], 0x55
push 0x57f2f8
lea ecx, [ebp - 0x1a3c]
call fcn.004084f0
mov dword [ebp - 0x1a20], 0xceff94
mov eax, dword [ebp - 0x1808]
shl eax, 0x1f
sar eax, 0x1f
test eax, eax
je 0x4ab44a
push 0x57f354
lea ecx, [ebp - 0x1a3c]
call fcn.004b05f0
mov ecx, dword [ebp - 0x1808]
shl ecx, 0x1e
sar ecx, 0x1f
test ecx, ecx
je 0x4ab46a
push 0x57f348
lea ecx, [ebp - 0x1a3c]
call fcn.004b05f0
mov edx, dword [ebp - 0x1808]
shl edx, 0x1d
sar edx, 0x1f
test edx, edx
je 0x4ab48a
push 0x57f33c
lea ecx, [ebp - 0x1a3c]
call fcn.004b05f0
mov eax, dword [ebp - 0x1808]
shl eax, 0x1c
sar eax, 0x1f
test eax, eax
je 0x4ab4aa
push 0x57f330
lea ecx, [ebp - 0x1a3c]
call fcn.004b05f0
mov ecx, dword [ebp - 0x1808]
shl ecx, 0x1b
sar ecx, 0x1f
test ecx, ecx
je 0x4ab4ca
push 0x57f324
lea ecx, [ebp - 0x1a3c]
call fcn.004b05f0
mov edx, dword [ebp - 0x1808]
shl edx, 0x1a
sar edx, 0x1f
test edx, edx
je 0x4ab4ea
push 0x57f314
lea ecx, [ebp - 0x1a3c]
call fcn.004b05f0
mov eax, dword [ebp - 0x1808]
shl eax, 0x19
sar eax, 0x1f
test eax, eax
je 0x4ab50a
push 0x57f304
lea ecx, [ebp - 0x1a3c]
call fcn.004b05f0
lea ecx, [ebp - 0x1a3c]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004375f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1a3c]
call fcn.0043b710
jmp case.0x4ab11e.2
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x34]
test eax, eax
jle case.default.0x4ab574
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x34]
mov dword [ebp - 0x24d0], edx
mov eax, dword [ebp - 0x24d0]
sub eax, 1
mov dword [ebp - 0x24d0], eax
cmp dword [ebp - 0x24d0], 6
ja case.default.0x4ab574
mov ecx, dword [ebp - 0x24d0]
jmp dword [ecx*4 + 0x4b018c]
mov edx, dword [ebp - 0x16f8]
or edx, 1
mov dword [ebp - 0x16f8], edx
jmp case.default.0x4ab574
mov eax, dword [ebp - 0x16f8]
or eax, 2
mov dword [ebp - 0x16f8], eax
jmp case.default.0x4ab574
mov ecx, dword [ebp - 0x16f8]
or ecx, 4
mov dword [ebp - 0x16f8], ecx
jmp case.default.0x4ab574
mov edx, dword [ebp - 0x16f8]
or edx, 8
mov dword [ebp - 0x16f8], edx
jmp case.default.0x4ab574
mov eax, dword [ebp - 0x16f8]
or eax, 0x10
mov dword [ebp - 0x16f8], eax
jmp case.default.0x4ab574
mov ecx, dword [ebp - 0x16f8]
or ecx, 0x20
mov dword [ebp - 0x16f8], ecx
jmp case.default.0x4ab574
mov edx, dword [ebp - 0x16f8]
or edx, 0x40
mov dword [ebp - 0x16f8], edx
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x61]
test ecx, ecx
jle 0x4ab754
push 0
push 0xffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f6c], esp
push 0x574a9b
call fcn.004074b0
mov dword [ebp - 0x24d4], eax
lea ecx, [ebp - 0x1a60]
call fcn.0043b690
mov dword [ebp - 0x24d8], eax
mov byte [ebp - 4], 0x56
push 0x57f3bc
lea ecx, [ebp - 0x1a60]
call fcn.004084f0
mov dword [ebp - 0x1a44], 0xff84
mov edx, dword [ebp - 0x16f8]
shl edx, 0x1f
sar edx, 0x1f
test edx, edx
je 0x4ab673
push 0x57f3b0
lea ecx, [ebp - 0x1a60]
call fcn.004b05f0
mov eax, dword [ebp - 0x16f8]
shl eax, 0x1e
sar eax, 0x1f
test eax, eax
je 0x4ab693
push 0x57f3a4
lea ecx, [ebp - 0x1a60]
call fcn.004b05f0
mov ecx, dword [ebp - 0x16f8]
shl ecx, 0x1d
sar ecx, 0x1f
test ecx, ecx
je 0x4ab6b3
push 0x57f398
lea ecx, [ebp - 0x1a60]
call fcn.004b05f0
mov edx, dword [ebp - 0x16f8]
shl edx, 0x1c
sar edx, 0x1f
test edx, edx
je 0x4ab6d3
push 0x57f38c
lea ecx, [ebp - 0x1a60]
call fcn.004b05f0
mov eax, dword [ebp - 0x16f8]
shl eax, 0x1b
sar eax, 0x1f
test eax, eax
je 0x4ab6f3
push 0x57f380
lea ecx, [ebp - 0x1a60]
call fcn.004b05f0
mov ecx, dword [ebp - 0x16f8]
shl ecx, 0x1a
sar ecx, 0x1f
test ecx, ecx
je 0x4ab713
push 0x57f370
lea ecx, [ebp - 0x1a60]
call fcn.004b05f0
mov edx, dword [ebp - 0x16f8]
shl edx, 0x19
sar edx, 0x1f
test edx, edx
je 0x4ab733
push 0x57f360
lea ecx, [ebp - 0x1a60]
call fcn.004b05f0
lea eax, [ebp - 0x1a60]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004375f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1a60]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x62]
test edx, edx
jle 0x4ab8b8
push 0
push 0xffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f70], esp
push 0x574a9b
call fcn.004074b0
mov dword [ebp - 0x24dc], eax
lea ecx, [ebp - 0x1a84]
call fcn.0043b690
mov dword [ebp - 0x24e0], eax
mov byte [ebp - 4], 0x57
push 0x57f2f8
lea ecx, [ebp - 0x1a84]
call fcn.004084f0
mov dword [ebp - 0x1a68], 0xceff94
mov eax, dword [ebp - 0x1808]
shl eax, 0x1f
sar eax, 0x1f
test eax, eax
je 0x4ab7d7
push 0x57f3b0
lea ecx, [ebp - 0x1a84]
call fcn.004b05f0
mov ecx, dword [ebp - 0x1808]
shl ecx, 0x1e
sar ecx, 0x1f
test ecx, ecx
je 0x4ab7f7
push 0x57f3a4
lea ecx, [ebp - 0x1a84]
call fcn.004b05f0
mov edx, dword [ebp - 0x1808]
shl edx, 0x1d
sar edx, 0x1f
test edx, edx
je 0x4ab817
push 0x57f398
lea ecx, [ebp - 0x1a84]
call fcn.004b05f0
mov eax, dword [ebp - 0x1808]
shl eax, 0x1c
sar eax, 0x1f
test eax, eax
je 0x4ab837
push 0x57f38c
lea ecx, [ebp - 0x1a84]
call fcn.004b05f0
mov ecx, dword [ebp - 0x1808]
shl ecx, 0x1b
sar ecx, 0x1f
test ecx, ecx
je 0x4ab857
push 0x57f380
lea ecx, [ebp - 0x1a84]
call fcn.004b05f0
mov edx, dword [ebp - 0x1808]
shl edx, 0x1a
sar edx, 0x1f
test edx, edx
je 0x4ab877
push 0x57f370
lea ecx, [ebp - 0x1a84]
call fcn.004b05f0
mov eax, dword [ebp - 0x1808]
shl eax, 0x19
sar eax, 0x1f
test eax, eax
je 0x4ab897
push 0x57f360
lea ecx, [ebp - 0x1a84]
call fcn.004b05f0
lea ecx, [ebp - 0x1a84]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004375f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1a84]
call fcn.0043b710
jmp case.0x4ab11e.2
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x61]
test eax, eax
je 0x4ab9f7
mov dword [ebp - 0x1a8c], 0
mov dword [ebp - 0x1a88], 0
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x28]
shr edx, 8
and edx, 0xff
movzx eax, dl
cmp eax, 0x64
jle 0x4ab923
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x28]
shr edx, 8
and edx, 0xff
movzx eax, dl
mov ecx, 0x64
sub ecx, eax
mov dword [ebp - 0x1a8c], ecx
jmp 0x4ab93e
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov dword [ebp - 0x1a8c], ecx
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x61]
cmp eax, 0x64
jle 0x4ab966
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x61]
mov eax, 0x64
sub eax, edx
mov dword [ebp - 0x1a88], eax
jmp 0x4ab976
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x61]
mov dword [ebp - 0x1a88], edx
push 0
push 0xceff94
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1f74], esp
mov ecx, dword [ebp - 0x1a88]
push ecx
mov edx, dword [ebp - 0x1a8c]
add edx, dword [ebp - 0x1a88]
push edx
push 0x57f2e8
push eax
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x24e4], eax
lea ecx, [ebp - 0xb20]
call fcn.0043b690
mov dword [ebp - 0x24e8], eax
mov eax, dword [ebp - 0x24e8]
mov dword [ebp - 0x24ec], eax
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x24ec]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb20]
call fcn.0043b710
jmp 0x4abae7
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx ecx, al
test ecx, ecx
je 0x4abae7
mov dword [ebp - 0x1a90], 0
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx ecx, al
cmp ecx, 0x64
jle 0x4aba5c
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, 0x64
sub edx, ecx
mov dword [ebp - 0x1a90], edx
jmp 0x4aba78
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
mov dword [ebp - 0x1a90], edx
push 0
push 0xffffff
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1f78], esp
mov ecx, dword [ebp - 0x1a90]
push ecx
push 0x57f2dc
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x24f0], eax
lea ecx, [ebp - 0xb44]
call fcn.0043b690
mov dword [ebp - 0x24f4], eax
mov edx, dword [ebp - 0x24f4]
mov dword [ebp - 0x24f8], edx
mov byte [ebp - 4], 0x59
mov eax, dword [ebp - 0x24f8]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb44]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x62]
test edx, edx
je 0x4abcf7
mov dword [ebp - 0x1b00], 0
mov dword [ebp - 0x1b04], 0
mov byte [ebp - 0x1afc], 0
push 0x63
push 0
lea eax, [ebp - 0x1afb]
push eax
call fcn.005454d0
add esp, 0xc
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x62]
cmp edx, 0xa
jle 0x4abb66
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x62]
sub ecx, 0xa
mov dword [ebp - 0x1b00], ecx
mov edx, dword [ebp - 0x1b00]
push edx
push 0x57f2d8
lea eax, [ebp - 0x1afc]
push eax
call fcn.005456a9
add esp, 0xc
jmp 0x4abb95
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x62]
xor eax, eax
sub eax, edx
mov dword [ebp - 0x1b00], eax
mov ecx, dword [ebp - 0x1b00]
push ecx
push 0x57aa60
lea edx, [ebp - 0x1afc]
push edx
call fcn.005456a9
add esp, 0xc
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2a]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
cmp edx, 0xa
jle 0x4abbd8
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2a]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
mov eax, dword [ebp - 0x1b00]
lea ecx, [eax + edx - 0xa]
mov dword [ebp - 0x1b04], ecx
jmp 0x4abbfb
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2a]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x1b00]
sub edx, ecx
mov dword [ebp - 0x1b04], edx
cmp dword [ebp - 0x1b04], 0
jle 0x4abc7c
push 0
push 0xceff94
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1f7c], esp
lea ecx, [ebp - 0x1afc]
push ecx
mov edx, dword [ebp - 0x1b04]
push edx
push 0x57f2c4
push eax
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x24fc], eax
lea ecx, [ebp - 0xb68]
call fcn.0043b690
mov dword [ebp - 0x2500], eax
mov eax, dword [ebp - 0x2500]
mov dword [ebp - 0x2504], eax
mov byte [ebp - 4], 0x5a
mov ecx, dword [ebp - 0x2504]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb68]
call fcn.0043b710
jmp 0x4abcf2
push 0
push 0xceff94
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1f80], esp
lea eax, [ebp - 0x1afc]
push eax
mov ecx, dword [ebp - 0x1b04]
push ecx
push 0x57f2b0
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2508], eax
lea ecx, [ebp - 0xb8c]
call fcn.0043b690
mov dword [ebp - 0x250c], eax
mov edx, dword [ebp - 0x250c]
mov dword [ebp - 0x2510], edx
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0x2510]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb8c]
call fcn.0043b710
jmp case.0x4ab11e.2
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2a]
shr edx, 8
and edx, 0xff
movzx eax, dl
test eax, eax
je case.0x4ab11e.2
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2a]
shr edx, 8
and edx, 0xff
movzx eax, dl
cmp eax, 0xa
jle 0x4abdbb
push 0
push 0xffffff
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2a]
shr edx, 8
and edx, 0xff
movzx eax, dl
sub eax, 0xa
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f84], esp
push eax
push 0x57f2a0
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2514], eax
lea ecx, [ebp - 0xbb0]
call fcn.0043b690
mov dword [ebp - 0x2518], eax
mov edx, dword [ebp - 0x2518]
mov dword [ebp - 0x251c], edx
mov byte [ebp - 4], 0x5c
mov eax, dword [ebp - 0x251c]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xbb0]
call fcn.0043b710
jmp case.0x4ab11e.2
push 0
push 0xffffff
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2a]
shr edx, 8
and edx, 0xff
movzx eax, dl
neg eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f88], esp
push eax
push 0x57f290
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2520], eax
lea ecx, [ebp - 0xbd4]
call fcn.0043b690
mov dword [ebp - 0x2524], eax
mov edx, dword [ebp - 0x2524]
mov dword [ebp - 0x2528], edx
mov byte [ebp - 4], 0x5d
mov eax, dword [ebp - 0x2528]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xbd4]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
mov dl, byte [ecx + 0x1e]
mov byte [ebp - 0x252c], dl
cmp byte [ebp - 0x252c], 5
jb 0x4abfa8
cmp byte [ebp - 0x252c], 6
jbe 0x4abe66
jmp 0x4abfa8
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x63]
test ecx, ecx
jg 0x4abe86
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x22]
test eax, eax
jle 0x4abfa8
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x63]
test edx, edx
jle 0x4abf27
push 0
push 0xceff94
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x63]
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1f8c], esp
push ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x63]
mov eax, dword [ebp - 0x20d4]
movzx eax, byte [eax + 0x22]
add ecx, eax
push ecx
push 0x57f280
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2530], eax
lea ecx, [ebp - 0xbf8]
call fcn.0043b690
mov dword [ebp - 0x2534], eax
mov ecx, dword [ebp - 0x2534]
mov dword [ebp - 0x2538], ecx
mov byte [ebp - 4], 0x5e
mov edx, dword [ebp - 0x2538]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xbf8]
call fcn.0043b710
jmp 0x4abfa8
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x22]
test ecx, ecx
jle 0x4abfa8
push 0
push 0xffffff
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x22]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f90], esp
push eax
push 0x57f274
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x253c], eax
lea ecx, [ebp - 0xc1c]
call fcn.0043b690
mov dword [ebp - 0x2540], eax
mov edx, dword [ebp - 0x2540]
mov dword [ebp - 0x2544], edx
mov byte [ebp - 4], 0x5f
mov eax, dword [ebp - 0x2544]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc1c]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
mov dl, byte [ecx + 0x1e]
mov byte [ebp - 0x2548], dl
cmp byte [ebp - 0x2548], 0xa
jb 0x4ac120
cmp byte [ebp - 0x2548], 0xb
jbe 0x4abfdb
cmp byte [ebp - 0x2548], 0x35
je 0x4abfdb
jmp 0x4ac120
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x64]
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x7a]
add ecx, eax
test ecx, ecx
jle 0x4ac07b
push 0
push 0xceff94
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x64]
imul edx, edx, 0xa
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x7a]
add edx, ecx
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1f94], esp
push edx
push 0x57f268
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x254c], eax
lea ecx, [ebp - 0xc40]
call fcn.0043b690
mov dword [ebp - 0x2550], eax
mov ecx, dword [ebp - 0x2550]
mov dword [ebp - 0x2554], ecx
mov byte [ebp - 4], 0x60
mov edx, dword [ebp - 0x2554]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc40]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x65]
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x7c]
add ecx, eax
test ecx, ecx
jle 0x4ac11b
push 0
push 0xceff94
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x65]
imul edx, edx, 0xa
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x7c]
add edx, ecx
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1f98], esp
push edx
push 0x57f258
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2558], eax
lea ecx, [ebp - 0xc64]
call fcn.0043b690
mov dword [ebp - 0x255c], eax
mov ecx, dword [ebp - 0x255c]
mov dword [ebp - 0x2560], ecx
mov byte [ebp - 4], 0x61
mov edx, dword [ebp - 0x2560]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc64]
call fcn.0043b710
jmp 0x4ac222
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x7a]
test ecx, ecx
jle 0x4ac1a1
push 0
push 0xceff94
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x7a]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1f9c], esp
push eax
push 0x57f268
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2564], eax
lea ecx, [ebp - 0xc88]
call fcn.0043b690
mov dword [ebp - 0x2568], eax
mov edx, dword [ebp - 0x2568]
mov dword [ebp - 0x256c], edx
mov byte [ebp - 4], 0x62
mov eax, dword [ebp - 0x256c]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc88]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x7c]
test edx, edx
jle 0x4ac222
push 0
push 0xceff94
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x7c]
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1fa0], esp
push ecx
push 0x57f258
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2570], eax
lea ecx, [ebp - 0xcac]
call fcn.0043b690
mov dword [ebp - 0x2574], eax
mov eax, dword [ebp - 0x2574]
mov dword [ebp - 0x2578], eax
mov byte [ebp - 4], 0x63
mov ecx, dword [ebp - 0x2578]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xcac]
call fcn.0043b710
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x1e]
mov dword [ebp - 0x257c], eax
mov ecx, dword [ebp - 0x257c]
sub ecx, 0xa
mov dword [ebp - 0x257c], ecx
cmp dword [ebp - 0x257c], 0x14
ja case.0x4ac25b.2
mov edx, dword [ebp - 0x257c]
movzx eax, byte [edx + 0x4b01b0]
jmp dword [eax*4 + 0x4b01a8]
movzx ecx, byte [0x7bf648]
test ecx, ecx
jle case.0x4ac25b.2
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x66]
movzx ecx, byte [0x7bf648]
cmp eax, ecx
jle 0x4ac2f0
push 0
push 0xff00
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1fa4], esp
push 0x57f24c
push edx
call fcn.004a7410
add esp, 8
mov dword [ebp - 0x2580], eax
lea ecx, [ebp - 0xcd0]
call fcn.0043b690
mov dword [ebp - 0x2584], eax
mov eax, dword [ebp - 0x2584]
mov dword [ebp - 0x2588], eax
mov byte [ebp - 4], 0x64
mov ecx, dword [ebp - 0x2588]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xcd0]
call fcn.0043b710
jmp case.0x4ac25b.2
push 0
push 0xff00
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x66]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1fa8], esp
push eax
push 0x57f240
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x258c], eax
lea ecx, [ebp - 0xcf4]
call fcn.0043b690
mov dword [ebp - 0x2590], eax
mov edx, dword [ebp - 0x2590]
mov dword [ebp - 0x2594], edx
mov byte [ebp - 4], 0x65
mov eax, dword [ebp - 0x2594]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xcf4]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x1e]
mov dword [ebp - 0x2598], edx
cmp dword [ebp - 0x2598], 0x3a
ja case.0x4ac38d.4
mov eax, dword [ebp - 0x2598]
movzx ecx, byte [eax + 0x4b01d4]
jmp dword [ecx*4 + 0x4b01c8]
mov dword [ebp - 0x1b08], 0
mov dword [ebp - 0x1b08], 0
jmp 0x4ac3b9
mov edx, dword [ebp - 0x1b08]
add edx, 1
mov dword [ebp - 0x1b08], edx
cmp dword [ebp - 0x1b08], 0x27
jae 0x4ac3df
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x4c]
mov edx, dword [ebp - 0x1b08]
cmp ecx, dword [edx*4 + 0x5adbb0]
jge 0x4ac3dd
jmp 0x4ac3df
jmp 0x4ac3aa
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x4c]
mov edx, dword [ebp - 0x1b08]
sub ecx, dword [edx*4 + 0x5adbac]
mov dword [ebp - 0x259c], ecx
fild dword [ebp - 0x259c]
push ecx
fstp dword [esp]
call fcn.004b0590
add esp, 4
fmul qword [0x57f238]
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x4d]
and ecx, 0xff
movzx edx, cl
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x4e]
and ecx, 0xff
movzx eax, cl
shl eax, 8
or edx, eax
movzx ecx, dx
mov dword [ebp - 0x25a0], ecx
fiadd dword [ebp - 0x25a0]
fstp dword [ebp - 0x1b0c]
movzx edx, byte [0x7bf649]
cmp dword [ebp - 0x1b08], edx
jl 0x4ac4d0
push 0
push 0xffffff
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1fac], esp
push 0x57f228
push eax
call fcn.004a7410
add esp, 8
mov dword [ebp - 0x25a4], eax
lea ecx, [ebp - 0xd18]
call fcn.0043b690
mov dword [ebp - 0x25a8], eax
mov ecx, dword [ebp - 0x25a8]
mov dword [ebp - 0x25ac], ecx
mov byte [ebp - 4], 0x66
mov edx, dword [ebp - 0x25ac]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd18]
call fcn.0043b710
jmp 0x4ac633
mov byte [ebp - 0x1c1c], 0
push 0x103
push 0
lea eax, [ebp - 0x1c1b]
push eax
call fcn.005454d0
add esp, 0xc
mov ecx, dword [ebp - 0x1b08]
mov edx, dword [ebp - 0x1b08]
mov eax, dword [ecx*4 + 0x5adbb0]
sub eax, dword [edx*4 + 0x5adbac]
imul eax, eax, 0xea60
mov dword [ebp - 0x25b0], eax
fild dword [ebp - 0x25b0]
fdivr dword [ebp - 0x1b0c]
fmul qword [0x576330]
fstp qword [ebp - 0x1b14]
sub esp, 8
fld qword [ebp - 0x1b14]
fstp qword [esp]
push str._.2f
push 0x104
lea ecx, [ebp - 0x1c1c]
push ecx
call fcn.0054572d
add esp, 0x14
push 0
push 0xffffff
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1fb0], esp
push 0x57f21c
lea eax, [ebp - 0x1c1c]
push eax
push 0x57f208
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x25b4], eax
lea ecx, [ebp - 0xd3c]
call fcn.0043b690
mov dword [ebp - 0x25b8], eax
mov ecx, dword [ebp - 0x25b8]
mov dword [ebp - 0x25bc], ecx
mov byte [ebp - 4], 0x67
mov edx, dword [ebp - 0x25bc]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd3c]
call fcn.0043b710
push 0
push 0xffffff
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1fb4], esp
mov ecx, dword [ebp - 0x1b08]
push ecx
push 0x57f1f8
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x25c0], eax
lea ecx, [ebp - 0xd60]
call fcn.0043b690
mov dword [ebp - 0x25c4], eax
mov edx, dword [ebp - 0x25c4]
mov dword [ebp - 0x25c8], edx
mov byte [ebp - 4], 0x68
mov eax, dword [ebp - 0x25c8]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd60]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x66]
test edx, edx
jne 0x4ac646
jmp 0x4ac727
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x66]
cmp ecx, 2
jne 0x4ac6bf
push 0
push 0xff
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1fb8], esp
push 0x57f1e0
push edx
call fcn.004a7410
add esp, 8
mov dword [ebp - 0x25cc], eax
lea ecx, [ebp - 0xd84]
call fcn.0043b690
mov dword [ebp - 0x25d0], eax
mov eax, dword [ebp - 0x25d0]
mov dword [ebp - 0x25d4], eax
mov byte [ebp - 4], 0x69
mov ecx, dword [ebp - 0x25d4]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd84]
call fcn.0043b710
jmp 0x4ac727
push 0
push 0xff84
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1fbc], esp
push 0x57f1c8
push edx
call fcn.004a7410
add esp, 8
mov dword [ebp - 0x25d8], eax
lea ecx, [ebp - 0xda8]
call fcn.0043b690
mov dword [ebp - 0x25dc], eax
mov eax, dword [ebp - 0x25dc]
mov dword [ebp - 0x25e0], eax
mov byte [ebp - 4], 0x6a
mov ecx, dword [ebp - 0x25e0]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xda8]
call fcn.0043b710
movzx edx, byte [0x7bf649]
cmp dword [ebp - 0x1b08], edx
jge 0x4ac744
mov eax, dword [ebp - 0x1b08]
mov dword [ebp - 0x25e4], eax
jmp 0x4ac751
movzx ecx, byte [0x7bf649]
mov dword [ebp - 0x25e4], ecx
mov edx, dword [ebp - 0x25e4]
mov dword [ebp - 0x1b08], edx
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x69]
test ecx, ecx
je 0x4ac783
cmp dword [ebp - 0x1b08], 0
jle 0x4ac783
mov edx, dword [ebp - 0x1b08]
sub edx, 1
mov dword [ebp - 0x1b08], edx
movzx eax, byte [0x7bf64b]
cmp dword [ebp - 0x1b08], eax
jle 0x4acb76
movzx ecx, byte [0x7bf649]
movzx edx, byte [0x7bf64b]
cmp ecx, edx
jle 0x4acb76
mov dword [ebp - 0x1d34], 0
mov dword [ebp - 0x1d30], 0
mov al, byte [0x7ac4b3]
mov byte [ebp - 0x25e8], al
cmp byte [ebp - 0x25e8], 0
je 0x4ac7f3
cmp byte [ebp - 0x25e8], 1
je 0x4ac8cb
cmp byte [ebp - 0x25e8], 2
je 0x4ac98d
jmp 0x4aca4a
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2c]
shr edx, 8
and edx, 0xff
movzx eax, dl
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2c]
and edx, 0xff
movzx ecx, dl
add eax, ecx
mov edx, dword [ebp - 0x20d4]
movzx ecx, word [edx + 0x32]
add eax, ecx
mov edx, dword [ebp - 0x20d4]
movzx ecx, byte [edx + 0x5c]
add eax, ecx
mov edx, dword [ebp - 0x20d4]
movzx ecx, byte [edx + 0x68]
lea edx, [eax + ecx - 0x26]
test edx, edx
jle 0x4ac8a1
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2c]
shr ecx, 8
and ecx, 0xff
movzx edx, cl
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2c]
and ecx, 0xff
movzx eax, cl
add edx, eax
mov ecx, dword [ebp - 0x20d4]
movzx eax, word [ecx + 0x32]
add edx, eax
mov ecx, dword [ebp - 0x20d4]
movzx eax, byte [ecx + 0x5c]
add edx, eax
mov ecx, dword [ebp - 0x20d4]
movzx eax, byte [ecx + 0x68]
lea ecx, [edx + eax - 0x26]
mov dword [ebp - 0x25ec], ecx
jmp 0x4ac8ab
mov dword [ebp - 0x25ec], 0
mov edx, dword [ebp - 0x25ec]
mov dword [ebp - 0x1d34], edx
mov eax, dword [ebp - 0x1d34]
imul eax, eax, 0x4b
mov dword [ebp - 0x1d30], eax
jmp 0x4aca4a
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x2e]
test edx, edx
je 0x4ac8e8
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x2e]
cmp ecx, 1
jne 0x4ac92f
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
and eax, 0xff
movzx edx, al
add ecx, edx
mov eax, dword [ebp - 0x20d4]
movzx edx, word [eax + 0x32]
add ecx, edx
mov eax, dword [ebp - 0x20d4]
movzx edx, byte [eax + 0x5d]
add ecx, edx
mov dword [ebp - 0x1d34], ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x68]
mov edx, dword [ebp - 0x1d34]
lea eax, [edx + ecx - 0xd]
test eax, eax
jle 0x4ac963
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x68]
mov eax, dword [ebp - 0x1d34]
lea ecx, [eax + edx - 0xd]
mov dword [ebp - 0x25f0], ecx
jmp 0x4ac96d
mov dword [ebp - 0x25f0], 0
mov edx, dword [ebp - 0x25f0]
mov dword [ebp - 0x1d34], edx
mov eax, dword [ebp - 0x1d34]
imul eax, eax, 0x55
mov dword [ebp - 0x1d30], eax
jmp 0x4aca4a
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x2e]
test edx, edx
je 0x4ac9aa
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x2e]
cmp ecx, 2
jne 0x4ac9f1
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2f]
and eax, 0xff
movzx edx, al
add ecx, edx
mov eax, dword [ebp - 0x20d4]
movzx edx, word [eax + 0x32]
add ecx, edx
mov eax, dword [ebp - 0x20d4]
movzx edx, byte [eax + 0x5d]
add ecx, edx
mov dword [ebp - 0x1d34], ecx
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x68]
mov edx, dword [ebp - 0x1d34]
lea eax, [edx + ecx - 0x10]
test eax, eax
jle 0x4aca25
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x68]
mov eax, dword [ebp - 0x1d34]
lea ecx, [eax + edx - 0x10]
mov dword [ebp - 0x25f4], ecx
jmp 0x4aca2f
mov dword [ebp - 0x25f4], 0
mov edx, dword [ebp - 0x25f4]
mov dword [ebp - 0x1d34], edx
mov eax, dword [ebp - 0x1d34]
imul eax, eax, 0x55
mov dword [ebp - 0x1d30], eax
movzx ecx, byte [0x7bf64b]
mov edx, dword [ebp - 0x1b08]
sub edx, ecx
mov dword [ebp - 0x1b08], edx
movzx ecx, byte [0x7bf649]
movzx edx, byte [0x7bf64b]
sub ecx, edx
mov eax, dword [ebp - 0x1d30]
cdq
idiv ecx
imul eax, dword [ebp - 0x1b08]
mov dword [ebp - 0x1d30], eax
movzx ecx, byte [0x7bf649]
movzx edx, byte [0x7bf64b]
sub ecx, edx
mov eax, 0xfa0
cdq
idiv ecx
imul eax, dword [ebp - 0x1b08]
add eax, dword [ebp - 0x1d30]
mov dword [ebp - 0x1d30], eax
fild dword [ebp - 0x1d30]
fdiv qword [0x57f1c0]
fmul qword [0x576330]
fstp qword [ebp - 0x1d2c]
mov byte [ebp - 0x1d24], 0
push 0x103
push 0
lea eax, [ebp - 0x1d23]
push eax
call fcn.005454d0
add esp, 4
fld qword [ebp - 0x1d2c]
fstp qword [esp]
push str._.2f
push 0x104
lea ecx, [ebp - 0x1d24]
push ecx
call fcn.0054572d
add esp, 0x14
push 0
push 0xffffff
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1fc0], esp
lea eax, [ebp - 0x1d24]
push eax
push 0x57f1a4
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x25f8], eax
lea ecx, [ebp - 0xdcc]
call fcn.0043b690
mov dword [ebp - 0x25fc], eax
mov ecx, dword [ebp - 0x25fc]
mov dword [ebp - 0x2600], ecx
mov byte [ebp - 4], 0x6b
mov edx, dword [ebp - 0x2600]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xdcc]
call fcn.0043b710
jmp case.0x4ac38d.4
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x3d]
test ecx, ecx
jle case.0x4ac38d.4
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x4d]
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x4e]
and eax, 0xff
movzx edx, al
shl edx, 8
or ecx, edx
mov word [ebp - 0x1d38], cx
push 0
push 0xffffff
movzx eax, word [ebp - 0x1d38]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1fc4], esp
push eax
push 0x57f724
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2604], eax
lea ecx, [ebp - 0xdf0]
call fcn.0043b690
mov dword [ebp - 0x2608], eax
mov edx, dword [ebp - 0x2608]
mov dword [ebp - 0x260c], edx
mov byte [ebp - 4], 0x6c
mov eax, dword [ebp - 0x260c]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xdf0]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
mov dl, byte [ecx + 0x1e]
mov byte [ebp - 0x2610], dl
cmp byte [ebp - 0x2610], 0
je 0x4acc64
cmp byte [ebp - 0x2610], 4
je 0x4acfb9
cmp byte [ebp - 0x2610], 0x33
je 0x4acfb9
jmp 0x4ad32b
mov ecx, dword [ebp - 0x20d4]
call fcn.0043b790
cmp eax, 2
jne 0x4aceb2
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2c]
and ecx, 0xff
movzx edx, cl
test edx, edx
jg 0x4acca1
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x28]
test ecx, ecx
jle 0x4acd90
push 0
push 0xffffff
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1fc8], esp
push eax
push 0x57f190
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2614], eax
lea ecx, [ebp - 0xe14]
call fcn.0043b690
mov dword [ebp - 0x2618], eax
mov edx, dword [ebp - 0x2618]
mov dword [ebp - 0x261c], edx
mov byte [ebp - 4], 0x6d
mov eax, dword [ebp - 0x261c]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe14]
call fcn.0043b710
push 0
push 0xffffff
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2c]
and edx, 0xff
movzx eax, dl
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1fcc], esp
push eax
push str.250
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2620], eax
lea ecx, [ebp - 0xe38]
call fcn.0043b690
mov dword [ebp - 0x2624], eax
mov edx, dword [ebp - 0x2624]
mov dword [ebp - 0x2628], edx
mov byte [ebp - 4], 0x6e
mov eax, dword [ebp - 0x2628]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe38]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2c]
shr edx, 8
and edx, 0xff
movzx eax, dl
test eax, eax
jne 0x4acdbc
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x2a]
test edx, edx
jle 0x4acead
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2a]
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1fd0], esp
push ecx
push 0x57f164
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x262c], eax
lea ecx, [ebp - 0xe5c]
call fcn.0043b690
mov dword [ebp - 0x2630], eax
mov eax, dword [ebp - 0x2630]
mov dword [ebp - 0x2634], eax
mov byte [ebp - 4], 0x6f
mov ecx, dword [ebp - 0x2634]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe5c]
call fcn.0043b710
push 0
push 0xffffff
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2c]
shr eax, 8
and eax, 0xff
movzx ecx, al
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1fd4], esp
push ecx
push 0x57f14c
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2638], eax
lea ecx, [ebp - 0xe80]
call fcn.0043b690
mov dword [ebp - 0x263c], eax
mov eax, dword [ebp - 0x263c]
mov dword [ebp - 0x2640], eax
mov byte [ebp - 4], 0x70
mov ecx, dword [ebp - 0x2640]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe80]
call fcn.0043b710
jmp 0x4acfb4
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x28]
test eax, eax
jle 0x4acf33
push 0
push 0xffffff
mov ecx, dword [ebp - 0x20d4]
movzx edx, word [ecx + 0x28]
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1fd8], esp
push edx
push 0x57f13c
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2644], eax
lea ecx, [ebp - 0xea4]
call fcn.0043b690
mov dword [ebp - 0x2648], eax
mov ecx, dword [ebp - 0x2648]
mov dword [ebp - 0x264c], ecx
mov byte [ebp - 4], 0x71
mov edx, dword [ebp - 0x264c]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xea4]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0x2a]
test ecx, ecx
jle 0x4acfb4
push 0
push 0xffffff
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x2a]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1fdc], esp
push eax
push 0x57f12c
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2650], eax
lea ecx, [ebp - 0xec8]
call fcn.0043b690
mov dword [ebp - 0x2654], eax
mov edx, dword [ebp - 0x2654]
mov dword [ebp - 0x2658], edx
mov byte [ebp - 4], 0x72
mov eax, dword [ebp - 0x2658]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xec8]
call fcn.0043b710
jmp 0x4ad32b
mov ecx, dword [ebp - 0x20d4]
call fcn.0043b790
mov dword [ebp - 0x265c], eax
cmp dword [ebp - 0x265c], 0
je 0x4acff2
cmp dword [ebp - 0x265c], 1
je 0x4ad106
cmp dword [ebp - 0x265c], 2
je 0x4ad21b
jmp 0x4ad32b
push 0
push 0xffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1fe0], esp
push 0x57f11c
call fcn.004074b0
mov dword [ebp - 0x2660], eax
lea ecx, [ebp - 0xeec]
call fcn.0043b690
mov dword [ebp - 0x2664], eax
mov ecx, dword [ebp - 0x2664]
mov dword [ebp - 0x2668], ecx
mov byte [ebp - 4], 0x73
mov edx, dword [ebp - 0x2668]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xeec]
call fcn.0043b710
movzx eax, byte [0x7ac4b3]
test eax, eax
jne 0x4ad082
movzx ecx, word [0x7ac451]
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x26]
cmp ecx, eax
jl 0x4ad082
mov dword [ebp - 0x266c], 0xffffff
jmp 0x4ad08c
mov dword [ebp - 0x266c], 0xff
push 0
mov ecx, dword [ebp - 0x266c]
push ecx
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x48]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1fe4], esp
push eax
push 0x57f10c
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2670], eax
lea ecx, [ebp - 0xf10]
call fcn.0043b690
mov dword [ebp - 0x2674], eax
mov edx, dword [ebp - 0x2674]
mov dword [ebp - 0x2678], edx
mov byte [ebp - 4], 0x74
mov eax, dword [ebp - 0x2678]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xf10]
call fcn.0043b710
jmp 0x4ad32b
push 0
push 0xffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1fe8], esp
push 0x57f0fc
call fcn.004074b0
mov dword [ebp - 0x267c], eax
lea ecx, [ebp - 0xf34]
call fcn.0043b690
mov dword [ebp - 0x2680], eax
mov ecx, dword [ebp - 0x2680]
mov dword [ebp - 0x2684], ecx
mov byte [ebp - 4], 0x75
mov edx, dword [ebp - 0x2684]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xf34]
call fcn.0043b710
movzx eax, byte [0x7ac4b3]
cmp eax, 1
jne 0x4ad197
movzx ecx, word [0x7ac451]
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x26]
cmp ecx, eax
jl 0x4ad197
mov dword [ebp - 0x2688], 0xffffff
jmp 0x4ad1a1
mov dword [ebp - 0x2688], 0xff
push 0
mov ecx, dword [ebp - 0x2688]
push ecx
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x48]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1fec], esp
push eax
push 0x57f10c
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x268c], eax
lea ecx, [ebp - 0xf58]
call fcn.0043b690
mov dword [ebp - 0x2690], eax
mov edx, dword [ebp - 0x2690]
mov dword [ebp - 0x2694], edx
mov byte [ebp - 4], 0x76
mov eax, dword [ebp - 0x2694]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xf58]
call fcn.0043b710
jmp 0x4ad32b
push 0
push 0xffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1ff0], esp
push 0x57f0ec
call fcn.004074b0
mov dword [ebp - 0x2698], eax
lea ecx, [ebp - 0xf7c]
call fcn.0043b690
mov dword [ebp - 0x269c], eax
mov ecx, dword [ebp - 0x269c]
mov dword [ebp - 0x26a0], ecx
mov byte [ebp - 4], 0x77
mov edx, dword [ebp - 0x26a0]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xf7c]
call fcn.0043b710
movzx eax, byte [0x7ac4b3]
cmp eax, 2
jne 0x4ad2ac
movzx ecx, word [0x7ac451]
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x26]
cmp ecx, eax
jl 0x4ad2ac
mov dword [ebp - 0x26a4], 0xffffff
jmp 0x4ad2b6
mov dword [ebp - 0x26a4], 0xff
push 0
mov ecx, dword [ebp - 0x26a4]
push ecx
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x48]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1ff4], esp
push eax
push 0x57f10c
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x26a8], eax
lea ecx, [ebp - 0xfa0]
call fcn.0043b690
mov dword [ebp - 0x26ac], eax
mov edx, dword [ebp - 0x26ac]
mov dword [ebp - 0x26b0], edx
mov byte [ebp - 4], 0x78
mov eax, dword [ebp - 0x26b0]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xfa0]
call fcn.0043b710
mov dword [ebp - 0x1964], 0
mov dword [ebp - 0x194c], 0xffffff
mov ecx, dword [ebp - 0x20d4]
cmp dword [ecx + 0x88], 0
je 0x4ad4f6
mov edx, dword [ebp - 0x20d4]
cmp dword [edx + 0x88], 0x5f5e100
jb 0x4ad3eb
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
mov eax, dword [eax + 0x88]
xor edx, edx
mov ecx, 0x5f5e100
div ecx
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1ff8], esp
push eax
push 0x57f0dc
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x26b4], eax
lea ecx, [ebp - 0xfc4]
call fcn.0043b690
mov dword [ebp - 0x26b8], eax
mov eax, dword [ebp - 0x26b8]
mov dword [ebp - 0x26bc], eax
mov byte [ebp - 4], 0x79
mov ecx, dword [ebp - 0x26bc]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xfc4]
call fcn.0043b710
jmp 0x4ad4f6
mov edx, dword [ebp - 0x20d4]
cmp dword [edx + 0x88], 0x2710
jb 0x4ad481
push 0
push 0xffffff
mov eax, dword [ebp - 0x20d4]
mov eax, dword [eax + 0x88]
xor edx, edx
mov ecx, 0x2710
div ecx
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1ffc], esp
push eax
push 0x57f0cc
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x26c0], eax
lea ecx, [ebp - 0xfe8]
call fcn.0043b690
mov dword [ebp - 0x26c4], eax
mov eax, dword [ebp - 0x26c4]
mov dword [ebp - 0x26c8], eax
mov byte [ebp - 4], 0x7a
mov ecx, dword [ebp - 0x26c8]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xfe8]
call fcn.0043b710
jmp 0x4ad4f6
push 0
push 0xffffff
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x2000], esp
mov eax, dword [ebp - 0x20d4]
mov ecx, dword [eax + 0x88]
push ecx
push 0x57f0bc
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x26cc], eax
lea ecx, [ebp - 0x100c]
call fcn.0043b690
mov dword [ebp - 0x26d0], eax
mov edx, dword [ebp - 0x26d0]
mov dword [ebp - 0x26d4], edx
mov byte [ebp - 4], 0x7b
mov eax, dword [ebp - 0x26d4]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x100c]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
cmp dword [ecx + 0x8c], 0
je 0x4ad57a
push 0
push 0xffffff
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x2004], esp
mov eax, dword [ebp - 0x20d4]
mov ecx, dword [eax + 0x8c]
push ecx
push 0x57f0ac
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x26d8], eax
lea ecx, [ebp - 0x1030]
call fcn.0043b690
mov dword [ebp - 0x26dc], eax
mov edx, dword [ebp - 0x26dc]
mov dword [ebp - 0x26e0], edx
mov byte [ebp - 4], 0x7c
mov eax, dword [ebp - 0x26e0]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1030]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
cmp dword [ecx + 0x90], 0
je 0x4ad5fe
push 0
push 0xeabfea
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x2008], esp
mov eax, dword [ebp - 0x20d4]
mov ecx, dword [eax + 0x90]
push ecx
push 0x57f09c
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x26e4], eax
lea ecx, [ebp - 0x1054]
call fcn.0043b690
mov dword [ebp - 0x26e8], eax
mov edx, dword [ebp - 0x26e8]
mov dword [ebp - 0x26ec], edx
mov byte [ebp - 4], 0x7d
mov eax, dword [ebp - 0x26ec]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1054]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
cmp dword [ecx + 0x94], 0
je 0x4ad682
push 0
push 0xffffff
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x200c], esp
mov eax, dword [ebp - 0x20d4]
mov ecx, dword [eax + 0x94]
push ecx
push 0x57f088
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x26f0], eax
lea ecx, [ebp - 0x1078]
call fcn.0043b690
mov dword [ebp - 0x26f4], eax
mov edx, dword [ebp - 0x26f4]
mov dword [ebp - 0x26f8], edx
mov byte [ebp - 4], 0x7e
mov eax, dword [ebp - 0x26f8]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1078]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
cmp dword [ecx + 0x98], 0
je 0x4ad706
push 0
push 0xffffff
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x2010], esp
mov eax, dword [ebp - 0x20d4]
mov ecx, dword [eax + 0x98]
push ecx
push 0x57f074
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x26fc], eax
lea ecx, [ebp - 0x109c]
call fcn.0043b690
mov dword [ebp - 0x2700], eax
mov edx, dword [ebp - 0x2700]
mov dword [ebp - 0x2704], edx
mov byte [ebp - 4], 0x7f
mov eax, dword [ebp - 0x2704]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x109c]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
cmp dword [ecx + 0x9c], 0
je 0x4ad78a
push 0
push 0xffffff
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x2014], esp
mov eax, dword [ebp - 0x20d4]
mov ecx, dword [eax + 0x9c]
push ecx
push 0x57f060
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2708], eax
lea ecx, [ebp - 0x10c0]
call fcn.0043b690
mov dword [ebp - 0x270c], eax
mov edx, dword [ebp - 0x270c]
mov dword [ebp - 0x2710], edx
mov byte [ebp - 4], 0x80
mov eax, dword [ebp - 0x2710]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10c0]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x1e]
mov dword [ebp - 0x2714], edx
mov eax, dword [ebp - 0x2714]
sub eax, 5
mov dword [ebp - 0x2714], eax
cmp dword [ebp - 0x2714], 0x42
ja case.0x4ad83b.1
mov ecx, dword [ebp - 0x2714]
movzx edx, byte [ecx + 0x4b0218]
jmp dword [edx*4 + 0x4b0210]
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x36]
mov dword [ebp - 0x2718], ecx
cmp dword [ebp - 0x2718], 0xda
jg 0x4ad810
cmp dword [ebp - 0x2718], 0xda
je 0x4adbf0
cmp dword [ebp - 0x2718], 3
ja case.0x4ad83b.1
mov edx, dword [ebp - 0x2718]
jmp dword [edx*4 + 0x4b025c]
mov eax, dword [ebp - 0x2718]
sub eax, 0xdb
mov dword [ebp - 0x2718], eax
cmp dword [ebp - 0x2718], 0x24
ja case.0x4ad83b.1
mov ecx, dword [ebp - 0x2718]
movzx edx, byte [ecx + 0x4b02c0]
jmp dword [edx*4 + 0x4b026c]
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x37]
test ecx, ecx
jne 0x4ad8ce
push 0
movzx edx, word [0x7ac451]
cmp edx, dword [ebp - 0x1964]
sbb eax, eax
and eax, 0xffff32ff
add eax, 0xce00
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2018], esp
push 0x57f054
call fcn.004074b0
mov dword [ebp - 0x271c], eax
lea ecx, [ebp - 0x10e4]
call fcn.0043b690
mov dword [ebp - 0x2720], eax
mov ecx, dword [ebp - 0x2720]
mov dword [ebp - 0x2724], ecx
mov byte [ebp - 4], 0x81
mov edx, dword [ebp - 0x2724]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10e4]
call fcn.0043b710
jmp 0x4ada11
mov eax, dword [ebp - 0x20d4]
cmp dword [eax + 0x7e], 0x64
jbe 0x4ad97b
mov ecx, dword [ebp - 0x20d4]
mov edx, dword [ecx + 0x7e]
sub edx, 0x64
mov dword [ebp - 0x1964], edx
push 0
movzx eax, word [0x7ac451]
cmp eax, dword [ebp - 0x1964]
sbb ecx, ecx
and ecx, 0xffff32ff
add ecx, 0xce00
push ecx
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x201c], esp
mov eax, dword [ebp - 0x1964]
push eax
push 0x57f03c
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2728], eax
lea ecx, [ebp - 0x1108]
call fcn.0043b690
mov dword [ebp - 0x272c], eax
mov ecx, dword [ebp - 0x272c]
mov dword [ebp - 0x2730], ecx
mov byte [ebp - 4], 0x82
mov edx, dword [ebp - 0x2730]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1108]
call fcn.0043b710
jmp 0x4ada11
mov eax, dword [ebp - 0x20d4]
mov ecx, dword [eax + 0x7e]
mov dword [ebp - 0x1964], ecx
push 0
movzx edx, word [0x7ac451]
cmp edx, dword [ebp - 0x1964]
sbb eax, eax
and eax, 0xff000100
add eax, 0xffffff
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2020], esp
mov edx, dword [ebp - 0x20d4]
mov eax, dword [edx + 0x7e]
push eax
push 0x57f10c
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2734], eax
lea ecx, [ebp - 0x112c]
call fcn.0043b690
mov dword [ebp - 0x2738], eax
mov ecx, dword [ebp - 0x2738]
mov dword [ebp - 0x273c], ecx
mov byte [ebp - 4], 0x83
mov edx, dword [ebp - 0x273c]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x112c]
call fcn.0043b710
jmp case.0x4ad83b.1
mov eax, dword [0x7ac45b]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
cmp ecx, dword [edx + 0x7e]
jae 0x4ada3b
mov dword [ebp - 0x194c], 0xff
push 0
mov eax, dword [ebp - 0x194c]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2024], esp
mov edx, dword [ebp - 0x20d4]
mov eax, dword [edx + 0x7e]
push eax
push 0x57f02c
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2740], eax
lea ecx, [ebp - 0x1150]
call fcn.0043b690
mov dword [ebp - 0x2744], eax
mov ecx, dword [ebp - 0x2744]
mov dword [ebp - 0x2748], ecx
mov byte [ebp - 4], 0x84
mov edx, dword [ebp - 0x2748]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1150]
call fcn.0043b710
jmp case.0x4ad83b.1
mov eax, dword [0x7ac45f]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
cmp ecx, dword [edx + 0x7e]
jae 0x4adad9
mov dword [ebp - 0x194c], 0xff
push 0
mov eax, dword [ebp - 0x194c]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2028], esp
mov edx, dword [ebp - 0x20d4]
mov eax, dword [edx + 0x7e]
push eax
push 0x57f01c
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x274c], eax
lea ecx, [ebp - 0x1174]
call fcn.0043b690
mov dword [ebp - 0x2750], eax
mov ecx, dword [ebp - 0x2750]
mov dword [ebp - 0x2754], ecx
mov byte [ebp - 4], 0x85
mov edx, dword [ebp - 0x2754]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1174]
call fcn.0043b710
jmp case.0x4ad83b.1
mov eax, dword [0x7ac463]
shr eax, 8
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
cmp ecx, dword [edx + 0x7e]
jae 0x4adb77
mov dword [ebp - 0x194c], 0xff
push 0
mov eax, dword [ebp - 0x194c]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x202c], esp
mov edx, dword [ebp - 0x20d4]
mov eax, dword [edx + 0x7e]
push eax
push 0x57f00c
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2758], eax
lea ecx, [ebp - 0x1198]
call fcn.0043b690
mov dword [ebp - 0x275c], eax
mov ecx, dword [ebp - 0x275c]
mov dword [ebp - 0x2760], ecx
mov byte [ebp - 4], 0x86
mov edx, dword [ebp - 0x2760]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1198]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2030], esp
push 0x57eff8
call fcn.004074b0
mov dword [ebp - 0x2764], eax
lea ecx, [ebp - 0x11bc]
call fcn.0043b690
mov dword [ebp - 0x2768], eax
mov eax, dword [ebp - 0x2768]
mov dword [ebp - 0x276c], eax
mov byte [ebp - 4], 0x87
mov ecx, dword [ebp - 0x276c]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x11bc]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2034], esp
push 0x57efe4
call fcn.004074b0
mov dword [ebp - 0x2770], eax
lea ecx, [ebp - 0x11e0]
call fcn.0043b690
mov dword [ebp - 0x2774], eax
mov edx, dword [ebp - 0x2774]
mov dword [ebp - 0x2778], edx
mov byte [ebp - 4], 0x88
mov eax, dword [ebp - 0x2778]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x11e0]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2038], esp
push 0x57efd8
call fcn.004074b0
mov dword [ebp - 0x277c], eax
lea ecx, [ebp - 0x1204]
call fcn.0043b690
mov dword [ebp - 0x2780], eax
mov ecx, dword [ebp - 0x2780]
mov dword [ebp - 0x2784], ecx
mov byte [ebp - 4], 0x89
mov edx, dword [ebp - 0x2784]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1204]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x203c], esp
push 0x57efc8
call fcn.004074b0
mov dword [ebp - 0x2788], eax
lea ecx, [ebp - 0x1228]
call fcn.0043b690
mov dword [ebp - 0x278c], eax
mov eax, dword [ebp - 0x278c]
mov dword [ebp - 0x2790], eax
mov byte [ebp - 4], 0x8a
mov ecx, dword [ebp - 0x2790]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1228]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2040], esp
push 0x57efb8
call fcn.004074b0
mov dword [ebp - 0x2794], eax
lea ecx, [ebp - 0x124c]
call fcn.0043b690
mov dword [ebp - 0x2798], eax
mov edx, dword [ebp - 0x2798]
mov dword [ebp - 0x279c], edx
mov byte [ebp - 4], 0x8b
mov eax, dword [ebp - 0x279c]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x124c]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2044], esp
push 0x57efa8
call fcn.004074b0
mov dword [ebp - 0x27a0], eax
lea ecx, [ebp - 0x1270]
call fcn.0043b690
mov dword [ebp - 0x27a4], eax
mov ecx, dword [ebp - 0x27a4]
mov dword [ebp - 0x27a8], ecx
mov byte [ebp - 4], 0x8c
mov edx, dword [ebp - 0x27a8]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1270]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2048], esp
push 0x57ef94
call fcn.004074b0
mov dword [ebp - 0x27ac], eax
lea ecx, [ebp - 0x1294]
call fcn.0043b690
mov dword [ebp - 0x27b0], eax
mov eax, dword [ebp - 0x27b0]
mov dword [ebp - 0x27b4], eax
mov byte [ebp - 4], 0x8d
mov ecx, dword [ebp - 0x27b4]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1294]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x204c], esp
push 0x57ef80
call fcn.004074b0
mov dword [ebp - 0x27b8], eax
lea ecx, [ebp - 0x12b8]
call fcn.0043b690
mov dword [ebp - 0x27bc], eax
mov edx, dword [ebp - 0x27bc]
mov dword [ebp - 0x27c0], edx
mov byte [ebp - 4], 0x8e
mov eax, dword [ebp - 0x27c0]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x12b8]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2050], esp
push 0x57ef6c
call fcn.004074b0
mov dword [ebp - 0x27c4], eax
lea ecx, [ebp - 0x12dc]
call fcn.0043b690
mov dword [ebp - 0x27c8], eax
mov ecx, dword [ebp - 0x27c8]
mov dword [ebp - 0x27cc], ecx
mov byte [ebp - 4], 0x8f
mov edx, dword [ebp - 0x27cc]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x12dc]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2054], esp
push 0x57ef58
call fcn.004074b0
mov dword [ebp - 0x27d0], eax
lea ecx, [ebp - 0x1300]
call fcn.0043b690
mov dword [ebp - 0x27d4], eax
mov eax, dword [ebp - 0x27d4]
mov dword [ebp - 0x27d8], eax
mov byte [ebp - 4], 0x90
mov ecx, dword [ebp - 0x27d8]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1300]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2058], esp
push 0x57ef44
call fcn.004074b0
mov dword [ebp - 0x27dc], eax
lea ecx, [ebp - 0x1324]
call fcn.0043b690
mov dword [ebp - 0x27e0], eax
mov edx, dword [ebp - 0x27e0]
mov dword [ebp - 0x27e4], edx
mov byte [ebp - 4], 0x91
mov eax, dword [ebp - 0x27e4]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1324]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x205c], esp
push 0x57ef30
call fcn.004074b0
mov dword [ebp - 0x27e8], eax
lea ecx, [ebp - 0x1348]
call fcn.0043b690
mov dword [ebp - 0x27ec], eax
mov ecx, dword [ebp - 0x27ec]
mov dword [ebp - 0x27f0], ecx
mov byte [ebp - 4], 0x92
mov edx, dword [ebp - 0x27f0]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1348]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2060], esp
push 0x57ef1c
call fcn.004074b0
mov dword [ebp - 0x27f4], eax
lea ecx, [ebp - 0x136c]
call fcn.0043b690
mov dword [ebp - 0x27f8], eax
mov eax, dword [ebp - 0x27f8]
mov dword [ebp - 0x27fc], eax
mov byte [ebp - 4], 0x93
mov ecx, dword [ebp - 0x27fc]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x136c]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2064], esp
push 0x57ef0c
call fcn.004074b0
mov dword [ebp - 0x2800], eax
lea ecx, [ebp - 0x1390]
call fcn.0043b690
mov dword [ebp - 0x2804], eax
mov edx, dword [ebp - 0x2804]
mov dword [ebp - 0x2808], edx
mov byte [ebp - 4], 0x94
mov eax, dword [ebp - 0x2808]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1390]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2068], esp
push 0x57eefc
call fcn.004074b0
mov dword [ebp - 0x280c], eax
lea ecx, [ebp - 0x13b4]
call fcn.0043b690
mov dword [ebp - 0x2810], eax
mov ecx, dword [ebp - 0x2810]
mov dword [ebp - 0x2814], ecx
mov byte [ebp - 4], 0x95
mov edx, dword [ebp - 0x2814]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x13b4]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x206c], esp
push 0x57eee8
call fcn.004074b0
mov dword [ebp - 0x2818], eax
lea ecx, [ebp - 0x13d8]
call fcn.0043b690
mov dword [ebp - 0x281c], eax
mov eax, dword [ebp - 0x281c]
mov dword [ebp - 0x2820], eax
mov byte [ebp - 4], 0x96
mov ecx, dword [ebp - 0x2820]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x13d8]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x2070], esp
mov eax, dword [ebp - 0x20d4]
mov ecx, dword [eax + 0x7e]
push ecx
push 0x57eed4
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2824], eax
lea ecx, [ebp - 0x13fc]
call fcn.0043b690
mov dword [ebp - 0x2828], eax
mov edx, dword [ebp - 0x2828]
mov dword [ebp - 0x282c], edx
mov byte [ebp - 4], 0x97
mov eax, dword [ebp - 0x282c]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x13fc]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2074], esp
push 0x57eec4
call fcn.004074b0
mov dword [ebp - 0x2830], eax
lea ecx, [ebp - 0x1420]
call fcn.0043b690
mov dword [ebp - 0x2834], eax
mov ecx, dword [ebp - 0x2834]
mov dword [ebp - 0x2838], ecx
mov byte [ebp - 4], 0x98
mov edx, dword [ebp - 0x2838]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1420]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x2078], esp
mov ecx, dword [ebp - 0x20d4]
mov edx, dword [ecx + 0x7e]
push edx
push 0x57eeb0
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x283c], eax
lea ecx, [ebp - 0x1444]
call fcn.0043b690
mov dword [ebp - 0x2840], eax
mov eax, dword [ebp - 0x2840]
mov dword [ebp - 0x2844], eax
mov byte [ebp - 4], 0x99
mov ecx, dword [ebp - 0x2844]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1444]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x207c], esp
push 0x7ad82a
mov eax, dword [ebp - 0x20d4]
mov ecx, dword [eax + 0x7e]
push ecx
push str._d_s
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2848], eax
lea ecx, [ebp - 0x1468]
call fcn.0043b690
mov dword [ebp - 0x284c], eax
mov edx, dword [ebp - 0x284c]
mov dword [ebp - 0x2850], edx
mov byte [ebp - 4], 0x9a
mov eax, dword [ebp - 0x2850]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1468]
call fcn.0043b710
jmp case.0x4ad83b.1
push 0
push 0xff00ff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2080], esp
mov edx, dword [ebp - 0x20d4]
mov eax, dword [edx + 0x7e]
push eax
push 0x57ee84
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2854], eax
lea ecx, [ebp - 0x148c]
call fcn.0043b690
mov dword [ebp - 0x2858], eax
mov ecx, dword [ebp - 0x2858]
mov dword [ebp - 0x285c], ecx
mov byte [ebp - 4], 0x9b
mov edx, dword [ebp - 0x285c]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x148c]
call fcn.0043b710
push str.GOLD
mov eax, dword [ebp - 0x20d4]
push eax
call fcn.00548180
add esp, 8
test eax, eax
je 0x4ae558
mov ecx, dword [ebp - 0x20d4]
cmp dword [ecx + 0x3e], 0
jbe 0x4ae558
push 0
push 0xffffff
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x2084], esp
mov eax, dword [ebp - 0x20d4]
mov ecx, dword [eax + 0x3e]
push ecx
push 0x57ee74
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2860], eax
lea ecx, [ebp - 0x14b0]
call fcn.0043b690
mov dword [ebp - 0x2864], eax
mov edx, dword [ebp - 0x2864]
mov dword [ebp - 0x2868], edx
mov byte [ebp - 4], 0x9c
mov eax, dword [ebp - 0x2868]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14b0]
call fcn.0043b710
mov ecx, dword [ebp - 0x20d4]
add ecx, 0x42
push ecx
lea edx, [ebp - 0x1954]
push edx
mov ecx, 0x66aaa8
call fcn.00437730
mov dword [ebp - 0x1968], 0
lea eax, [ebp - 0x2088]
push eax
mov ecx, 0x66aaa8
call fcn.004f52e0
push eax
lea ecx, [ebp - 0x1954]
call fcn.00405200
movzx ecx, al
test ecx, ecx
je 0x4ae5b5
lea ecx, [ebp - 0x1954]
call fcn.004f5470
mov edx, dword [eax + 4]
mov dword [ebp - 0x1968], edx
cmp dword [ebp - 0x1968], 0
je 0x4ae6a2
lea eax, [ebp - 0x208c]
push eax
mov ecx, dword [ebp - 0x1968]
call fcn.00437d00
mov ecx, dword [eax]
mov dword [ebp - 0x1d3c], ecx
jmp 0x4ae5f2
push 0
lea edx, [ebp - 0x2090]
push edx
lea ecx, [ebp - 0x1d3c]
call fcn.004f6740
lea eax, [ebp - 0x2094]
push eax
mov ecx, dword [ebp - 0x1968]
call fcn.0051cb30
push eax
lea ecx, [ebp - 0x1d3c]
call fcn.00405200
movzx ecx, al
test ecx, ecx
je 0x4ae6a2
lea ecx, [ebp - 0x1d3c]
call fcn.00438780
mov edx, dword [eax + 0x20]
push edx
lea ecx, [ebp - 0x1d3c]
call fcn.00438780
mov eax, dword [eax + 0x1c]
push eax
lea ecx, [ebp - 0x1d3c]
call fcn.00438780
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2098], esp
push eax
call fcn.00408510
mov dword [ebp - 0x286c], eax
lea ecx, [ebp - 0x14d4]
call fcn.0043b690
mov dword [ebp - 0x2870], eax
mov ecx, dword [ebp - 0x2870]
mov dword [ebp - 0x2874], ecx
mov byte [ebp - 4], 0x9d
mov edx, dword [ebp - 0x2874]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14d4]
call fcn.0043b710
jmp 0x4ae5de
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x4ae7e1
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x4ae76a
mov dword [ebp - 0x1d40], 0
mov edx, dword [ebp - 0x20d4]
cmp dword [edx + 0x38], 0x64
jbe 0x4ae6ea
mov eax, dword [ebp - 0x20d4]
mov eax, dword [eax + 0x38]
shl eax, 1
xor edx, edx
mov ecx, 0x64
div ecx
mov dword [ebp - 0x1d40], eax
push 0
push 0xff00ff
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x209c], esp
push 0x7ad726
mov eax, dword [ebp - 0x1d40]
push eax
mov ecx, dword [ebp - 0x20d4]
mov eax, dword [ecx + 0x38]
push eax
push 0x57ee5c
push edx
call fcn.004a7410
add esp, 0x14
mov dword [ebp - 0x2878], eax
lea ecx, [ebp - 0x14f8]
call fcn.0043b690
mov dword [ebp - 0x287c], eax
mov ecx, dword [ebp - 0x287c]
mov dword [ebp - 0x2880], ecx
mov byte [ebp - 4], 0x9e
mov edx, dword [ebp - 0x2880]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14f8]
call fcn.0043b710
jmp 0x4ae7e1
push 0
push 0xff00ff
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x20a0], esp
push 0x7ad726
mov ecx, dword [ebp - 0x20d4]
mov edx, dword [ecx + 0x38]
push edx
push 0x57ee50
push eax
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x2884], eax
lea ecx, [ebp - 0x151c]
call fcn.0043b690
mov dword [ebp - 0x2888], eax
mov eax, dword [ebp - 0x2888]
mov dword [ebp - 0x288c], eax
mov byte [ebp - 4], 0x9f
mov ecx, dword [ebp - 0x288c]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x151c]
call fcn.0043b710
movzx edx, byte [ebp + 0x1c]
test edx, edx
je 0x4ae85b
push 0
push 0xffffff
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x20a4], esp
mov ecx, dword [ebp - 0x20d4]
mov edx, dword [ecx + 0x38]
push edx
push 0x57ee44
push eax
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x2890], eax
lea ecx, [ebp - 0x1540]
call fcn.0043b690
mov dword [ebp - 0x2894], eax
mov eax, dword [ebp - 0x2894]
mov dword [ebp - 0x2898], eax
mov byte [ebp - 4], 0xa0
mov ecx, dword [ebp - 0x2898]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1540]
call fcn.0043b710
movzx edx, byte [ebp + 0x20]
test edx, edx
je 0x4ae9c9
push 0
push 0xff00
mov eax, dword [ebp - 0x20d4]
add eax, 0xbe
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x20a8], esp
push eax
push 0x57ee38
push ecx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x289c], eax
lea ecx, [ebp - 0x1564]
call fcn.0043b690
mov dword [ebp - 0x28a0], eax
mov edx, dword [ebp - 0x28a0]
mov dword [ebp - 0x28a4], edx
mov byte [ebp - 4], 0xa1
mov eax, dword [ebp - 0x28a4]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1564]
call fcn.0043b710
push 0
push 0xff00
mov ecx, dword [ebp - 0x20d4]
add ecx, 0x122
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x20ac], esp
push ecx
push 0x57ee28
push edx
call fcn.004a7410
add esp, 0xc
mov dword [ebp - 0x28a8], eax
lea ecx, [ebp - 0x1588]
call fcn.0043b690
mov dword [ebp - 0x28ac], eax
mov eax, dword [ebp - 0x28ac]
mov dword [ebp - 0x28b0], eax
mov byte [ebp - 4], 0xa2
mov ecx, dword [ebp - 0x28b0]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1588]
call fcn.0043b710
push 0
push 0xff00
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x20b0], esp
push 0x7ad726
mov eax, dword [ebp - 0x20d4]
add eax, 0x1ea
push eax
push 0x57ee1c
push edx
call fcn.004a7410
add esp, 0x10
mov dword [ebp - 0x28b4], eax
lea ecx, [ebp - 0x15ac]
call fcn.0043b690
mov dword [ebp - 0x28b8], eax
mov ecx, dword [ebp - 0x28b8]
mov dword [ebp - 0x28bc], ecx
mov byte [ebp - 4], 0xa3
mov edx, dword [ebp - 0x28bc]
push edx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x15ac]
call fcn.0043b710
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0xa9]
test ecx, ecx
jle 0x4aed6d
xor edx, edx
mov word [ebp - 0x1d44], dx
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x1e]
cmp ecx, 5
je 0x4aea05
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x1e]
cmp eax, 6
jne 0x4aea39
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x64]
and edx, 0xff
movzx eax, dl
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x65]
and edx, 0xff
movzx ecx, dl
shl ecx, 8
or eax, ecx
mov word [ebp - 0x1d44], ax
jmp 0x4aea69
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x66]
and eax, 0xff
movzx ecx, al
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x69]
and eax, 0xff
movzx edx, al
shl edx, 8
or ecx, edx
mov word [ebp - 0x1d44], cx
movzx eax, word [ebp - 0x1d44]
test eax, eax
je 0x4aed6d
movzx eax, word [ebp - 0x1d44]
cdq
mov ecx, 0x1a4
idiv ecx
mov word [ebp - 0x1d80], ax
movzx eax, word [ebp - 0x1d44]
movzx edx, word [ebp - 0x1d80]
imul edx, edx, 0x1a4
sub eax, edx
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov word [ebp - 0x1d4c], ax
movzx eax, word [ebp - 0x1d44]
movzx ecx, word [ebp - 0x1d80]
imul ecx, ecx, 0x1a4
sub eax, ecx
movzx edx, word [ebp - 0x1d4c]
shl edx, 5
sub eax, edx
mov word [ebp - 0x1d48], ax
movzx eax, word [ebp - 0x1d80]
add eax, 0x7d0
mov word [ebp - 0x1d80], ax
movzx ecx, word [ebp - 0x1d48]
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0xa9]
add ecx, eax
mov word [ebp - 0x1d48], cx
mov ecx, 0x1f
mov word [ebp - 0x1d7c], cx
mov edx, 0x1c
mov word [ebp - 0x1d7a], dx
mov eax, 0x1f
mov word [ebp - 0x1d78], ax
mov ecx, 0x1e
mov word [ebp - 0x1d76], cx
mov edx, 0x1f
mov word [ebp - 0x1d74], dx
mov eax, 0x1e
mov word [ebp - 0x1d72], ax
mov ecx, 0x1f
mov word [ebp - 0x1d70], cx
mov edx, 0x1f
mov word [ebp - 0x1d6e], dx
mov eax, 0x1e
mov word [ebp - 0x1d6c], ax
mov ecx, 0x1f
mov word [ebp - 0x1d6a], cx
mov edx, 0x1e
mov word [ebp - 0x1d68], dx
mov eax, 0x1f
mov word [ebp - 0x1d66], ax
mov ecx, 0x1f
mov word [ebp - 0x1d64], cx
mov edx, 0x1d
mov word [ebp - 0x1d62], dx
mov eax, 0x1f
mov word [ebp - 0x1d60], ax
mov ecx, 0x1e
mov word [ebp - 0x1d5e], cx
mov edx, 0x1f
mov word [ebp - 0x1d5c], dx
mov eax, 0x1e
mov word [ebp - 0x1d5a], ax
mov ecx, 0x1f
mov word [ebp - 0x1d58], cx
mov edx, 0x1f
mov word [ebp - 0x1d56], dx
mov eax, 0x1e
mov word [ebp - 0x1d54], ax
mov ecx, 0x1f
mov word [ebp - 0x1d52], cx
mov edx, 0x1e
mov word [ebp - 0x1d50], dx
mov eax, 0x1f
mov word [ebp - 0x1d4e], ax
movzx ecx, word [ebp - 0x1d48]
movzx edx, word [ebp - 0x1d80]
and edx, reloc.WS2_32.dll_closesocket
jns 0x4aec48
dec edx
or edx, 0xfffffffc
inc edx
neg edx
sbb edx, edx
neg edx
imul edx, edx, 0x18
lea eax, [ebp + edx - 0x1d7c]
movzx edx, word [ebp - 0x1d4c]
movzx eax, word [eax + edx*2 - 2]
cmp ecx, eax
jle 0x4aeced
movzx ecx, word [ebp - 0x1d48]
movzx edx, word [ebp - 0x1d80]
and edx, reloc.WS2_32.dll_closesocket
jns 0x4aec87
dec edx
or edx, 0xfffffffc
inc edx
neg edx
sbb edx, edx
neg edx
imul edx, edx, 0x18
lea eax, [ebp + edx - 0x1d7c]
movzx edx, word [ebp - 0x1d4c]
movzx eax, word [eax + edx*2 - 2]
sub ecx, eax
mov word [ebp - 0x1d48], cx
mov cx, word [ebp - 0x1d4c]
add cx, 1
mov word [ebp - 0x1d4c], cx
movzx edx, word [ebp - 0x1d4c]
cmp edx, 0xc
jle 0x4aece8
mov eax, 1
mov word [ebp - 0x1d4c], ax
mov cx, word [ebp - 0x1d80]
add cx, 1
mov word [ebp - 0x1d80], cx
jmp 0x4aec2d
push 0
push 0xceff94
movzx edx, word [ebp - 0x1d48]
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x20b4], esp
push edx
movzx ecx, word [ebp - 0x1d4c]
push ecx
movzx edx, word [ebp - 0x1d80]
push edx
push 0x57ee04
push eax
call fcn.004a7410
add esp, 0x14
mov dword [ebp - 0x28c0], eax
lea ecx, [ebp - 0x15d0]
call fcn.0043b690
mov dword [ebp - 0x28c4], eax
mov eax, dword [ebp - 0x28c4]
mov dword [ebp - 0x28c8], eax
mov byte [ebp - 4], 0xa4
mov ecx, dword [ebp - 0x28c8]
push ecx
lea ecx, [ebp - 0x15dc]
call fcn.004b0610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x15d0]
call fcn.0043b710
lea edx, [ebp - 0x16ec]
push edx
call fcn.00545a90
add esp, 4
mov dword [ebp - 0x195c], eax
lea eax, [ebp - 0x20b8]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.00437d00
mov ecx, dword [eax]
mov dword [ebp - 0x1d84], ecx
jmp 0x4aedb2
push 0
lea edx, [ebp - 0x20bc]
push edx
lea ecx, [ebp - 0x1d84]
call fcn.004f6740
lea eax, [ebp - 0x20c0]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.0051cb30
push eax
lea ecx, [ebp - 0x1d84]
call fcn.00405200
movzx ecx, al
test ecx, ecx
je 0x4aeeaa
mov dword [ebp - 0x1d88], 0
lea ecx, [ebp - 0x1d84]
call fcn.00438780
cmp dword [eax + 0x20], 0
je 0x4aee46
mov dword [ebp - 0x1d8c], 0x6edf1b
cmp dword [ebp - 0x1d8c], 0
je 0x4aee46
push 0
lea ecx, [ebp - 0x1d84]
call fcn.00438780
mov edx, dword [eax + 0x20]
push edx
mov ecx, dword [ebp - 0x1d8c]
call fcn.0053b180
movzx eax, al
test eax, eax
je 0x4aee46
mov ecx, dword [ebp - 0x1d8c]
mov edx, dword [ecx + 0x63]
movsx eax, word [edx]
cdq
mov ecx, 6
idiv ecx
mov dword [ebp - 0x1d88], eax
lea ecx, [ebp - 0x1d84]
call fcn.00438780
mov ecx, eax
call fcn.00411040
push eax
call fcn.00545a90
add esp, 4
add eax, dword [ebp - 0x1d88]
cmp dword [ebp - 0x195c], eax
jae 0x4aee96
lea ecx, [ebp - 0x1d84]
call fcn.00438780
mov ecx, eax
call fcn.00411040
push eax
call fcn.00545a90
add esp, 4
add eax, dword [ebp - 0x1d88]
mov dword [ebp - 0x195c], eax
mov edx, dword [ebp - 0x16f4]
add edx, 1
mov dword [ebp - 0x16f4], edx
jmp 0x4aed9e
mov dword [ebp - 0x1978], 0
mov byte [ebp - 0x1955], 0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x20c4], esp
mov eax, dword [ebp - 0x20d4]
push eax
call fcn.004074b0
mov dword [ebp - 0x28cc], eax
mov ecx, 0x6c8ddc
call fcn.004e42f0
mov dword [ebp - 0x28d0], eax
mov ecx, dword [ebp - 0x28d0]
mov dword [ebp - 0x1934], ecx
cmp dword [ebp - 0x1934], 0
je 0x4af054
mov byte [ebp - 0x1955], 1
mov edx, dword [ebp - 0x1934]
add edx, 0x24
push edx
call fcn.00545a90
add esp, 4
mov dword [ebp - 0x1d94], eax
push 0x28
mov eax, dword [ebp - 0x1934]
add eax, 0x24
push eax
call fcn.004372e0
add esp, 8
mov dword [ebp - 0x1d90], eax
cmp dword [ebp - 0x1d90], 0
je 0x4aefda
push 0x29
mov ecx, dword [ebp - 0x1d90]
push ecx
call fcn.004372e0
add esp, 8
mov dword [ebp - 0x1d98], eax
cmp dword [ebp - 0x1d98], 0
je 0x4aefd3
push 0x2c
mov edx, dword [ebp - 0x1d90]
push edx
call fcn.004372e0
add esp, 8
mov dword [ebp - 0x1d9c], eax
cmp dword [ebp - 0x1d9c], 0
je 0x4aefcf
mov eax, dword [ebp - 0x1d9c]
cmp eax, dword [ebp - 0x1d98]
jae 0x4aefcb
mov ecx, dword [ebp - 0x1d98]
add ecx, 3
sub ecx, dword [ebp - 0x1d9c]
mov edx, dword [ebp - 0x1d94]
sub edx, ecx
mov dword [ebp - 0x1d94], edx
push 0x28
mov eax, dword [ebp - 0x1d98]
push eax
call fcn.004372e0
add esp, 8
mov dword [ebp - 0x1d90], eax
jmp 0x4aefcd
jmp 0x4aefda
jmp 0x4aefd1
jmp 0x4aefda
jmp 0x4aefd5
jmp 0x4aefda
jmp 0x4aef3a
mov ecx, dword [ebp - 0x1d94]
cmp ecx, dword [ebp - 0x195c]
jbe 0x4af02a
cmp dword [ebp - 0x1d94], 0x14
jbe 0x4af004
cmp dword [ebp - 0x195c], 0x14
jae 0x4af004
mov dword [ebp - 0x195c], 0x14
cmp dword [ebp - 0x1d94], 0x14
ja 0x4af02a
mov edx, dword [ebp - 0x195c]
cmp edx, dword [ebp - 0x1d94]
jae 0x4af02a
mov eax, dword [ebp - 0x1d94]
add eax, 1
mov dword [ebp - 0x195c], eax
mov eax, dword [ebp - 0x1d94]
add eax, 0x13
xor edx, edx
mov ecx, 0x14
div ecx
mov dword [ebp - 0x1978], eax
mov edx, dword [ebp - 0x16f4]
add edx, dword [ebp - 0x1978]
mov dword [ebp - 0x16f4], edx
mov dword [ebp - 0x1974], 0
mov dword [ebp - 0x1970], 0
movzx eax, byte [ebp + 0x18]
test eax, eax
je 0x4af0e2
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x1e]
cmp edx, 0xa
je 0x4af08e
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x1e]
cmp ecx, 0xb
jne 0x4af0e2
mov dword [ebp - 0x1da0], 0x6ce0b6
push 0
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x24]
push eax
mov ecx, dword [ebp - 0x1da0]
call fcn.0053b180
movzx ecx, al
test ecx, ecx
je 0x4af0e2
mov edx, dword [ebp - 0x1da0]
mov eax, dword [edx + 0x63]
movsx ecx, word [eax]
add ecx, 0xa
mov dword [ebp - 0x1974], ecx
mov edx, dword [ebp - 0x1da0]
mov eax, dword [edx + 0x63]
movsx ecx, word [eax + 2]
add ecx, 0x14
mov dword [ebp - 0x1970], ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x1974]
mov eax, dword [ebp - 0x195c]
imul eax, eax, 6
lea ecx, [edx + eax + 0x18]
movzx edx, word [0x6658d8]
cmp ecx, edx
jbe 0x4af124
movzx eax, word [0x6658d8]
mov ecx, dword [ebp - 0x195c]
imul ecx, ecx, 0xc
shr ecx, 1
mov edx, dword [ebp - 0x1974]
lea ecx, [edx + ecx + 0x18]
sub eax, ecx
mov dword [ebp + 8], eax
mov edx, dword [ebp - 0x16f4]
imul edx, edx, 0xe
add edx, 0xc
mov dword [ebp - 0x1960], edx
movzx eax, byte [ebp + 0x18]
test eax, eax
je 0x4af158
mov ecx, dword [ebp - 0x1970]
cmp ecx, dword [ebp - 0x1960]
jle 0x4af158
mov edx, dword [ebp - 0x1970]
mov dword [ebp - 0x1960], edx
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + 0xae]
test ecx, ecx
je 0x4af1c6
mov edx, dword [ebp - 0x20d4]
cmp dword [edx + 0xaa], 0
je 0x4af1c6
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0xb0]
test ecx, ecx
jle 0x4af1c6
mov dword [ebp - 0x1da4], 0x6ed487
push 0
push 0x2b
mov ecx, dword [ebp - 0x1da4]
call fcn.0053b180
movzx edx, al
test edx, edx
je 0x4af1c6
mov eax, dword [ebp - 0x1da4]
mov ecx, dword [eax + 0x63]
movsx edx, word [ecx + 2]
mov eax, dword [ebp - 0x1960]
lea ecx, [eax + edx + 0xa]
mov dword [ebp - 0x1960], ecx
movzx edx, byte [ebp - 0x1955]
test edx, edx
je 0x4af1e0
mov eax, dword [ebp - 0x1960]
add eax, 4
mov dword [ebp - 0x1960], eax
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp - 0x1948], ecx
mov edx, dword [ebp + 0xc]
add edx, 5
mov dword [ebp - 0x1944], edx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x1974]
mov ecx, dword [ebp - 0x195c]
imul ecx, ecx, 0xc
shr ecx, 1
lea edx, [eax + ecx + 0xe]
mov dword [ebp - 0x1940], edx
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0x1960]
mov dword [ebp - 0x193c], eax
mov ecx, dword [0x69e64c]
shr ecx, 0x18
push ecx
mov edx, dword [0x69e64c]
push edx
lea eax, [ebp - 0x1948]
push eax
mov ecx, 0x69ec08
call fcn.005376a0
mov ecx, dword [ebp - 0x1948]
mov dword [ebp - 0x1930], ecx
mov edx, dword [ebp - 0x1944]
mov dword [ebp - 0x192c], edx
mov eax, dword [ebp - 0x1940]
add eax, 1
mov dword [ebp - 0x1928], eax
mov ecx, dword [ebp - 0x193c]
add ecx, 1
mov dword [ebp - 0x1924], ecx
push 0xff000000
push 1
push 0x50ffef84
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x1930]
mov dword [edx], eax
mov ecx, dword [ebp - 0x192c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1928]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x1924]
mov dword [edx + 0xc], ecx
mov ecx, 0x69ec08
call fcn.00535720
mov edx, dword [ebp + 8]
add edx, 0xa
mov dword [ebp - 0x1950], edx
mov eax, dword [ebp + 0xc]
add eax, 0xa
mov dword [ebp - 0x196c], eax
push 0
push 0x21
push 0
push 0
lea ecx, [ebp - 0x16ec]
push ecx
push 0xfafa
mov edx, dword [ebp - 0x196c]
push edx
mov eax, dword [ebp - 0x1950]
add eax, dword [ebp - 0x1974]
push eax
mov ecx, 0x69ec08
call fcn.00538af0
mov dword [ebp - 0x197c], 1
movzx ecx, byte [ebp + 0x18]
test ecx, ecx
je 0x4af40e
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x1e]
cmp eax, 0xa
je 0x4af33d
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0x1e]
cmp edx, 0xb
jne 0x4af40e
mov eax, dword [ebp - 0x20d4]
movzx ecx, byte [eax + 0x4c]
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x4d]
shl eax, 8
or ecx, eax
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0x4e]
shl eax, 0x10
or ecx, eax
mov dword [ebp - 0x1db0], ecx
mov ecx, dword [ebp - 0x1db0]
push ecx
mov ecx, 0x69ec08
call fcn.005355f0
mov word [ebp - 0x1dac], ax
mov dword [ebp - 0x1da8], 0x6ce0b6
push 0
push 0
push 0
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0x24]
push eax
mov ecx, 0x69ec08
call fcn.0040ceb0
push eax
mov ecx, dword [ebp - 0x1da8]
call fcn.0053c280
test eax, eax
je 0x4af40e
push 0
push 0xffff
movzx ecx, word [ebp - 0x1dac]
push ecx
movzx edx, word [0x6658dc]
push edx
movzx eax, word [0x6658d8]
push eax
mov ecx, dword [ebp - 0x1da8]
mov edx, dword [ecx + 0x6b]
push edx
mov eax, dword [ebp - 0x1da8]
mov ecx, dword [eax + 0x63]
movsx edx, word [ecx + 2]
push edx
mov eax, dword [ebp - 0x1da8]
mov ecx, dword [eax + 0x63]
movsx edx, word [ecx]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, 0x69ec08
call fcn.0043b240
movzx edx, byte [ebp + 0x18]
test edx, edx
je 0x4af426
mov eax, dword [ebp - 0x1974]
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 5]
mov dword [ebp + 8], edx
lea eax, [ebp - 0x20c8]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.00437d00
mov ecx, dword [eax]
mov dword [ebp - 0x1db4], ecx
jmp 0x4af456
push 0
lea edx, [ebp - 0x20cc]
push edx
lea ecx, [ebp - 0x1db4]
call fcn.004f6740
lea eax, [ebp - 0x20d0]
push eax
lea ecx, [ebp - 0x15dc]
call fcn.0051cb30
push eax
lea ecx, [ebp - 0x1db4]
call fcn.00405200
movzx ecx, al
test ecx, ecx
je 0x4af5e8
mov dword [ebp - 0x1db8], 0
lea ecx, [ebp - 0x1db4]
call fcn.00438780
cmp dword [eax + 0x20], 0
je 0x4af562
mov dword [ebp - 0x1dc0], 0x6edf1b
cmp dword [ebp - 0x1dc0], 0
je 0x4af562
push 0
push 0
push 0
lea ecx, [ebp - 0x1db4]
call fcn.00438780
mov edx, dword [eax + 0x20]
push edx
mov ecx, 0x69ec08
call fcn.0040ceb0
push eax
mov ecx, dword [ebp - 0x1dc0]
call fcn.0053c280
test eax, eax
je 0x4af562
push 0
push 0xffff
push 0
movzx eax, word [0x6658dc]
push eax
movzx ecx, word [0x6658d8]
push ecx
mov edx, dword [ebp - 0x1dc0]
mov eax, dword [edx + 0x6b]
push eax
mov ecx, dword [ebp - 0x1dc0]
mov edx, dword [ecx + 0x63]
movsx eax, word [edx + 2]
push eax
mov ecx, dword [ebp - 0x1dc0]
mov edx, dword [ecx + 0x63]
movsx eax, word [edx]
push eax
mov ecx, dword [ebp - 0x197c]
imul ecx, ecx, 0xe
add ecx, dword [ebp - 0x196c]
push ecx
mov edx, dword [ebp - 0x1974]
mov eax, dword [ebp - 0x1950]
lea ecx, [eax + edx + 1]
push ecx
mov ecx, 0x69ec08
call fcn.0043b240
mov edx, dword [ebp - 0x1dc0]
mov eax, dword [edx + 0x63]
movsx ecx, word [eax]
add ecx, 2
mov dword [ebp - 0x1db8], ecx
lea ecx, [ebp - 0x1db4]
call fcn.00438780
mov ecx, eax
call fcn.00411040
mov dword [ebp - 0x1dbc], eax
mov edx, dword [ebp - 0x1dbc]
push edx
call fcn.004a65a0
add esp, 4
push 0
push 0x21
push 0
push 0
mov eax, dword [ebp - 0x1dbc]
push eax
lea ecx, [ebp - 0x1db4]
call fcn.00438780
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [ebp - 0x197c]
imul edx, edx, 0xe
add edx, dword [ebp - 0x196c]
push edx
mov eax, dword [ebp - 0x1950]
add eax, dword [ebp - 0x1974]
add eax, dword [ebp - 0x1db8]
push eax
mov ecx, 0x69ec08
call fcn.00538af0
mov ecx, dword [ebp - 0x197c]
add ecx, 1
mov dword [ebp - 0x197c], ecx
jmp 0x4af442
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + 0xae]
test eax, eax
je 0x4af991
mov ecx, dword [ebp - 0x20d4]
cmp dword [ecx + 0xaa], 0
je 0x4af991
mov edx, dword [ebp - 0x20d4]
movzx eax, byte [edx + 0xb0]
test eax, eax
jle 0x4af991
mov ecx, dword [ebp - 0x1950]
mov dword [ebp - 0x1dc8], ecx
mov edx, dword [ebp - 0x197c]
imul edx, edx, 0xe
mov eax, dword [ebp - 0x196c]
lea ecx, [eax + edx + 4]
mov dword [ebp - 0x1dc4], ecx
mov edx, dword [ebp - 0x197c]
add edx, 1
mov dword [ebp - 0x197c], edx
mov dword [ebp - 0x1dcc], 0
jmp 0x4af674
mov eax, dword [ebp - 0x1dcc]
add eax, 1
mov dword [ebp - 0x1dcc], eax
mov ecx, dword [ebp - 0x20d4]
movzx edx, byte [ecx + 0xb0]
cmp dword [ebp - 0x1dcc], edx
jge 0x4af991
mov dword [ebp - 0x1dd0], 0x6ed487
push 0
push 0
push 0
push 0x2b
mov ecx, 0x69ec08
call fcn.0040ceb0
push eax
mov ecx, dword [ebp - 0x1dd0]
call fcn.0053c280
test eax, eax
je 0x4af745
push 0
push 0xffff
push 0
movzx eax, word [0x6658dc]
push eax
movzx ecx, word [0x6658d8]
push ecx
mov edx, dword [ebp - 0x1dd0]
mov eax, dword [edx + 0x6b]
push eax
mov ecx, dword [ebp - 0x1dd0]
mov edx, dword [ecx + 0x63]
movsx eax, word [edx + 2]
push eax
mov ecx, dword [ebp - 0x1dd0]
mov edx, dword [ecx + 0x63]
movsx eax, word [edx]
push eax
mov ecx, dword [ebp - 0x1dd0]
mov edx, dword [ecx + 0x63]
movsx eax, word [edx + 6]
add eax, dword [ebp - 0x1dc4]
push eax
mov ecx, dword [ebp - 0x1dd0]
mov edx, dword [ecx + 0x63]
movsx eax, word [edx + 4]
add eax, dword [ebp - 0x1dc8]
push eax
mov ecx, 0x69ec08
call fcn.0043b240
mov ecx, dword [ebp - 0x1dd0]
mov edx, dword [ecx + 0x63]
movsx eax, word [edx]
add eax, dword [ebp - 0x1dc8]
mov dword [ebp - 0x1dc8], eax
mov ecx, dword [ebp - 0x1dcc]
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + ecx*2 + 0xb7]
test eax, eax
jle 0x4af98c
mov dword [ebp - 0x1dd0], 0x6ce0b6
mov ecx, dword [ebp - 0x1dcc]
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + ecx*2 + 0xb7]
cmp eax, 0xa
jle 0x4af832
push 0
push 0
push 0
mov ecx, dword [ebp - 0x1dcc]
mov edx, dword [ebp - 0x20d4]
movzx eax, word [edx + ecx*2 + 0xb7]
push eax
mov ecx, 0x69ec08
call fcn.0040ceb0
push eax
mov ecx, dword [ebp - 0x1dd0]
call fcn.0053c280
test eax, eax
je 0x4af82d
push 0
push 0xffff
push 0
movzx ecx, word [0x6658dc]
push ecx
movzx edx, word [0x6658d8]
push edx
mov eax, dword [ebp - 0x1dd0]
mov ecx, dword [eax + 0x6b]
push ecx
mov edx, dword [ebp - 0x1dd0]
mov eax, dword [edx + 0x63]
movsx ecx, word [eax + 2]
push ecx
mov edx, dword [ebp - 0x1dd0]
mov eax, dword [edx + 0x63]
movsx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0x1dd0]
mov eax, dword [edx + 0x63]
movsx ecx, word [eax + 6]
add ecx, dword [ebp - 0x1dc4]
push ecx
mov edx, dword [ebp - 0x1dd0]
mov eax, dword [edx + 0x63]
movsx ecx, word [eax + 4]
add ecx, dword [ebp - 0x1dc8]
push ecx
mov ecx, 0x69ec08
call fcn.0043b240
jmp 0x4af98c
mov dword [ebp - 0x1dd0], 0x6ed9d1
mov edx, dword [ebp - 0x1dcc]
mov eax, dword [ebp - 0x20d4]
movzx ecx, word [eax + edx*2 + 0xb7]
sub ecx, 1
imul ecx, ecx, 0x14
mov dword [ebp - 0x1dd4], ecx
push 0
push 0
push 0
mov edx, dword [ebp - 0x1dcc]
mov eax, dword [ebp - 0x1dd4]
add eax, dword [edx*4 + 0x66aae4]
push eax
mov ecx, 0x69ec08
call fcn.0040ceb0
push eax
mov ecx, dword [ebp - 0x1dd0]
call fcn.0053c280
test eax, eax
je 0x4af892
jmp 0x4af8c6
mov ecx, dword [ebp - 0x1dcc]
mov dword [ecx*4 + 0x66aae4], 0
push 0
push 0
push 0
mov edx, dword [ebp - 0x1dd4]
push edx
mov ecx, 0x69ec08
call fcn.0040ceb0
push eax
mov ecx, dword [ebp - 0x1dd0]
call fcn.0053c280
mov eax, dword [ebp - 0x1dd0]
cmp dword [eax + 0x6b], 0
je 0x4af946
push 0
push 0xffff
push 0
movzx ecx, word [0x6658dc]
push ecx
movzx edx, word [0x6658d8]
push edx
mov eax, dword [ebp - 0x1dd0]
mov ecx, dword [eax + 0x6b]
push ecx
mov edx, dword [ebp - 0x1dd0]
mov eax, dword [edx + 0x63]
movsx ecx, word [eax + 2]
push ecx
mov edx, dword [ebp - 0x1dd0]
mov eax, dword [edx + 0x63]
movsx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0x1dd0]
mov eax, dword [edx + 0x63]
movsx ecx, word [eax + 6]
add ecx, dword [ebp - 0x1dc4]
push ecx
mov edx, dword [ebp - 0x1dd0]
mov eax, dword [edx + 0x63]
movsx ecx, word [eax + 4]
mov edx, dword [ebp - 0x1dc8]
lea eax, [edx + ecx - 0x21]
push eax
mov ecx, 0x69ec08
call fcn.0043b240
call fcn.0040ada0
mov ecx, dword [ebp - 0x1dcc]
sub eax, dword [ecx*4 + 0x66aad8]
cmp eax, 0x64
jbe 0x4af98c
call fcn.0040ada0
mov edx, dword [ebp - 0x1dcc]
mov dword [edx*4 + 0x66aad8], eax
mov eax, dword [ebp - 0x1dcc]
mov ecx, dword [eax*4 + 0x66aae4]
add ecx, 1
mov edx, dword [ebp - 0x1dcc]
mov dword [edx*4 + 0x66aae4], ecx
jmp 0x4af665
movzx eax, byte [ebp - 0x1955]
test eax, eax
je 0x4aff39
mov ecx, dword [ebp - 0x1950]
sub ecx, 3
mov dword [ebp - 0x1dec], ecx
mov edx, dword [ebp - 0x197c]
imul edx, edx, 0xe
mov eax, dword [ebp - 0x196c]
lea ecx, [eax + edx + 4]
mov dword [ebp - 0x1de4], ecx
mov byte [ebp - 0x1de8], 0
xor edx, edx
mov word [ebp - 0x1de7], dx
mov dword [ebp - 0x1e08], 0
mov eax, dword [ebp - 0x1934]
add eax, 0x24
mov dword [ebp - 0x1de0], eax
mov ecx, dword [ebp - 0x1de0]
push ecx
call fcn.00545a90
add esp, 4
mov dword [ebp - 0x1dd8], eax
mov dword [ebp - 0x1e04], 0xffffffff
mov byte [ebp - 0x1e00], 0
xor edx, edx
mov dword [ebp - 0x1dff], edx
mov dword [ebp - 0x1dfb], edx
mov dword [ebp - 0x1df7], edx
mov dword [ebp - 0x1df3], edx
mov word [ebp - 0x1def], dx
mov byte [ebp - 0x1ded], dl
mov dword [ebp - 0x1ddc], 0
mov dword [ebp - 0x1e0c], 0
mov eax, dword [ebp - 0x1e0c]
cmp eax, dword [ebp - 0x1dd8]
jge 0x4aff39
mov byte [ebp - 0x1de8], 0
mov byte [ebp - 0x1de7], 0
mov ecx, dword [ebp - 0x195c]
cmp ecx, dword [ebp - 0x1e08]
jbe 0x4afce7
mov edx, dword [ebp - 0x1de0]
add edx, dword [ebp - 0x1e0c]
movsx eax, byte [edx]
cmp eax, 0x28
jne 0x4afb49
push 0x2c
mov ecx, dword [ebp - 0x1de0]
add ecx, dword [ebp - 0x1e0c]
push ecx
call fcn.004372e0
add esp, 8
mov dword [ebp - 0x1e10], eax
cmp dword [ebp - 0x1e10], 0
je 0x4afb35
mov edx, dword [ebp - 0x1e10]
add edx, 1
mov dword [ebp - 0x1e10], edx
push 0x29
mov eax, dword [ebp - 0x1e10]
push eax
call fcn.004372e0
add esp, 8
mov dword [ebp - 0x1e14], eax
cmp dword [ebp - 0x1e14], 0
je 0x4afb35
mov ecx, dword [ebp - 0x1e14]
sub ecx, dword [ebp - 0x1e10]
mov dword [ebp - 0x1ddc], ecx
mov edx, dword [ebp - 0x1ddc]
push edx
mov eax, dword [ebp - 0x1e10]
push eax
lea ecx, [ebp - 0x1e00]
push ecx
call fcn.00549970
add esp, 0xc
lea edx, [ebp - 0x1e00]
push edx
call fcn.00547d0c
add esp, 4
mov dword [ebp - 0x1e04], eax
mov eax, dword [ebp - 0x1e0c]
add eax, 1
mov dword [ebp - 0x1e0c], eax
jmp 0x4afce2
mov ecx, dword [ebp - 0x1de0]
add ecx, dword [ebp - 0x1e0c]
movsx edx, byte [ecx]
cmp edx, 0x29
jne 0x4afb71
mov eax, dword [ebp - 0x1e0c]
add eax, 1
mov dword [ebp - 0x1e0c], eax
jmp 0x4afce2
cmp dword [ebp - 0x1e04], 0
jle 0x4afbb3
mov ecx, dword [ebp - 0x1de0]
add ecx, dword [ebp - 0x1e0c]
movsx edx, byte [ecx]
cmp edx, 0x2c
jne 0x4afbb3
mov dword [ebp - 0x1e04], 0xffffffff
mov eax, dword [ebp - 0x1ddc]
mov ecx, dword [ebp - 0x1e0c]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x1e0c], edx
jmp 0x4afce2
mov dword [ebp - 0x1e24], 0
mov eax, dword [ebp - 0x1de0]
add eax, dword [ebp - 0x1e0c]
movsx ecx, byte [eax]
test ecx, ecx
jge 0x4afc23
mov edx, dword [ebp - 0x1e08]
add edx, 2
mov dword [ebp - 0x1e08], edx
mov eax, dword [ebp - 0x1de0]
add eax, dword [ebp - 0x1e0c]
mov cl, byte [eax]
mov byte [ebp - 0x1de8], cl
mov edx, dword [ebp - 0x1de0]
add edx, dword [ebp - 0x1e0c]
mov al, byte [edx + 1]
mov byte [ebp - 0x1de7], al
mov ecx, dword [ebp - 0x1e0c]
add ecx, 2
mov dword [ebp - 0x1e0c], ecx
mov dword [ebp - 0x1e24], 2
jmp 0x4afc5f
mov edx, dword [ebp - 0x1de0]
add edx, dword [ebp - 0x1e0c]
mov al, byte [edx]
mov byte [ebp - 0x1de8], al
mov ecx, dword [ebp - 0x1e08]
add ecx, 1
mov dword [ebp - 0x1e08], ecx
mov edx, dword [ebp - 0x1e0c]
add edx, 1
mov dword [ebp - 0x1e0c], edx
mov dword [ebp - 0x1e24], 1
mov dword [ebp - 0x1e18], 0xffffff
cmp dword [ebp - 0x1e04], 0
jl 0x4afc88
movzx eax, byte [ebp - 0x1e04]
push eax
call fcn.004764c0
add esp, 4
mov dword [ebp - 0x1e18], eax
push 0
push 0x21
push 0
push 0
lea ecx, [ebp - 0x1de8]
push ecx
mov edx, dword [ebp - 0x1e18]
push edx
mov eax, dword [ebp - 0x1de4]
push eax
mov ecx, dword [ebp - 0x1dec]
push ecx
mov ecx, 0x69ec08
call fcn.00538af0
lea edx, [ebp - 0x1de8]
push edx
push 0
lea eax, [ebp - 0x1e20]
push eax
mov ecx, 0x69ec08
call fcn.00532fa0
mov ecx, dword [ebp - 0x1dec]
add ecx, dword [ebp - 0x1e20]
mov dword [ebp - 0x1dec], ecx
jmp 0x4aff34
mov byte [ebp - 0x1e28], 0
xor edx, edx
mov word [ebp - 0x1e27], dx
mov eax, dword [ebp - 0x1de0]
add eax, dword [ebp - 0x1e0c]
mov cl, byte [eax]
mov byte [ebp - 0x1e28], cl
mov edx, dword [ebp - 0x1de0]
add edx, dword [ebp - 0x1e0c]
mov al, byte [edx + 1]
mov byte [ebp - 0x1e27], al
push 0x578454
lea ecx, [ebp - 0x1e28]
push ecx
call fcn.004372c0
add esp, 8
test eax, eax
jne 0x4afdcc
push 0x57ee00
lea edx, [ebp - 0x1e28]
push edx
call fcn.004372c0
add esp, 8
test eax, eax
jne 0x4afdcc
push 0x57edfc
lea eax, [ebp - 0x1e28]
push eax
call fcn.004372c0
add esp, 8
test eax, eax
jne 0x4afdcc
push 0x57edf8
lea ecx, [ebp - 0x1e28]
push ecx
call fcn.004372c0
add esp, 8
test eax, eax
jne 0x4afdcc
push 0x57edf4
lea edx, [ebp - 0x1e28]
push edx
call fcn.004372c0
add esp, 8
test eax, eax
jne 0x4afdcc
push 0x57edf0
lea eax, [ebp - 0x1e28]
push eax
call fcn.004372c0
add esp, 8
test eax, eax
jne 0x4afdcc
push 0x57edec
lea ecx, [ebp - 0x1e28]
push ecx
call fcn.004372c0
add esp, 8
test eax, eax
je 0x4afe46
mov dword [ebp - 0x1e2c], 0xffffff
cmp dword [ebp - 0x1e04], 0
jl 0x4afdf5
movzx edx, byte [ebp - 0x1e04]
push edx
call fcn.004764c0
add esp, 4
mov dword [ebp - 0x1e2c], eax
push 0
push 0x21
push 0
push 0
lea eax, [ebp - 0x1e28]
push eax
mov ecx, dword [ebp - 0x1e2c]
push ecx
mov edx, dword [ebp - 0x1de4]
push edx
mov eax, dword [ebp - 0x1dec]
push eax
mov ecx, 0x69ec08
call fcn.00538af0
mov ecx, dword [ebp - 0x1e08]
add ecx, 2
mov dword [ebp - 0x1e08], ecx
mov edx, dword [ebp - 0x1e0c]
add edx, 2
mov dword [ebp - 0x1e0c], edx
jmp 0x4aff34
movsx eax, byte [ebp - 0x1e28]
cmp eax, 0x2c
je 0x4afe8e
movsx ecx, byte [ebp - 0x1e28]
cmp ecx, 0x2e
je 0x4afe8e
movsx edx, byte [ebp - 0x1e28]
cmp edx, 0x3b
je 0x4afe8e
movsx eax, byte [ebp - 0x1e28]
cmp eax, 0x22
je 0x4afe8e
movsx ecx, byte [ebp - 0x1e28]
cmp ecx, 0x27
je 0x4afe8e
movsx edx, byte [ebp - 0x1e28]
cmp edx, 0x3a
jne 0x4aff0c
mov byte [ebp - 0x1e27], 0
mov dword [ebp - 0x1e30], 0xffffff
cmp dword [ebp - 0x1e04], 0
jl 0x4afebe
movzx eax, byte [ebp - 0x1e04]
push eax
call fcn.004764c0
add esp, 4
mov dword [ebp - 0x1e30], eax
push 0
push 0x21
push 0
push 0
lea ecx, [ebp - 0x1e28]
push ecx
mov edx, dword [ebp - 0x1e30]
push edx
mov eax, dword [ebp - 0x1de4]
push eax
mov ecx, dword [ebp - 0x1dec]
push ecx
mov ecx, 0x69ec08
call fcn.00538af0
mov edx, dword [ebp - 0x1e08]
add edx, 1
mov dword [ebp - 0x1e08], edx
mov eax, dword [ebp - 0x1e0c]
add eax, 1
mov dword [ebp - 0x1e0c], eax
jmp 0x4aff34
mov dword [ebp - 0x1e08], 0
mov ecx, dword [ebp - 0x1950]
sub ecx, 3
mov dword [ebp - 0x1dec], ecx
mov edx, dword [ebp - 0x1de4]
add edx, 0xe
mov dword [ebp - 0x1de4], edx
jmp 0x4afa52
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x15dc]
call fcn.004b0650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15dd]
call fcn.00402620
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0054514c
mov esp, ebp
pop ebp
ret 0x1c