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

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x69b331
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [0x7034d4]
mov eax, dword [ecx]
push edi
push 0xc
call dword [eax + 4]
test al, al
je 0x48b473
lea ecx, [esi + 0x2b8]
call fcn.00501e50
cmp eax, 0x63
je 0x48b523
mov eax, dword [0x84716c]
xor ebx, ebx
cmp eax, ebx
je 0x48b4ac
cmp byte [eax + 0x279], 2
jne 0x48b4ac
mov dword [0x852b5c], ebx
mov ecx, dword [esi + 0x184]
cmp ecx, ebx
je 0x48b4a5
cmp dword [esi + 0x280], ebx
je 0x48b4a5
mov edx, dword [ecx]
push ebx
call dword [edx + 0x14]
mov ecx, esi
call fcn.004207b0
mov ecx, esi
call fcn.0048a250
call dword [sym.imp.winmm.dll_timeGetTime]
mov edx, dword [0x84f028]
mov edi, eax
sub eax, edx
cmp eax, 0x3e8
jbe 0x48b4e5
inc dword [0x21e6f24]
push 0x21e6f24
mov ecx, 0x84f768
call fcn.004c1500
mov dword [0x84f028], edi
mov ecx, esi
call fcn.004b7400
cmp eax, 0x63
je 0x48b523
mov ecx, esi
call fcn.004b78f0
mov ecx, esi
call fcn.004b6370
test eax, eax
je 0x48b53b
mov ecx, dword [esi + 0x184]
cmp ecx, ebx
je 0x48b512
mov edx, dword [ecx]
call dword [edx + 4]
mov esi, dword [esi + 0x1a0]
cmp esi, ebx
je 0x48b523
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x2ac]
cmp ecx, ebx
je 0x48b586
call fcn.004bc660
test eax, eax
je 0x48b56e
mov edi, dword [esi + 0x2ac]
cmp edi, ebx
je 0x48b56e
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2ac], ebx
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x2b0]
cmp ecx, ebx
je 0x48b5e4
call fcn.004bc660
cmp eax, ebx
je 0x48b5cc
dec eax
mov dword [0x852b5c], ebx
jne 0x48b5ac
mov dword [0x852b5c], 0x1c
mov edi, dword [esi + 0x2b0]
cmp edi, ebx
je 0x48b5cc
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2b0], ebx
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x2a8]
cmp ecx, ebx
je 0x48b836
call fcn.004bc660
mov ebp, eax
cmp ebp, ebx
je 0x48b61d
mov edi, dword [esi + 0x2a8]
cmp edi, ebx
je 0x48b61d
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a8], ebx
cmp ebp, 1
jne case.default.0x4908b8
mov eax, dword [esi + 0x2b4]
dec eax
cmp eax, 3
ja case.default.0x4908b8
jmp dword [eax*4 + 0x490cf8]
mov edi, dword [esi + 0x2a8]
cmp edi, ebx
mov dword [esi + 0x2b4], 2
je 0x48b667
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a8], ebx
push 0xa40
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, ebx
mov dword [esp + 0x3c], ebx
je 0x48b792
push 0x1431
call fcn.0041b230
add esp, 4
push eax
push ebx
push 0xff
push 0xff
push 1
mov ecx, edi
call fcn.004bc830
mov dword [esi + 0x2a8], eax
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov edi, dword [esi + 0x2a8]
cmp edi, ebx
mov dword [esi + 0x2b4], ebx
je 0x48b6ec
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a8], ebx
call fcn.0058ad60
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov edi, dword [esi + 0x2a8]
cmp edi, ebx
mov dword [esi + 0x2b4], 4
je 0x48b733
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a8], ebx
push 0xa40
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, ebx
mov dword [esp + 0x3c], 1
je 0x48b792
push 0x1432
call fcn.0041b230
add esp, 4
push eax
push ebx
push 0xff
push 0xff
push 1
mov ecx, edi
call fcn.004bc830
mov dword [esi + 0x2a8], eax
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
xor eax, eax
mov dword [esi + 0x2a8], eax
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov edi, dword [esi + 0x2a8]
cmp edi, ebx
mov dword [esi + 0x2b4], ebx
je 0x48b7d8
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a8], ebx
mov ecx, 0x84f768
call fcn.004c1ee0
test eax, eax
je 0x48b803
call fcn.0058ad90
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push 0x1433
call fcn.0041b230
add esp, 4
push eax
push 0x11
mov ecx, dword [0x7034d8]
call fcn.0041d380
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x2a4]
xor ebp, ebp
or edi, 0xffffffff
cmp ecx, ebp
mov ebx, 6
je 0x48b8a2
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, 2
jne 0x48b882
mov ecx, dword [esi + 0x2a4]
cmp ecx, ebp
je 0x48b88a
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x2a4], ebp
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp eax, ebp
je 0x48b9e0
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp dword [0x703a10], ebp
je 0x48b8d8
push 0x15ea8
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 2
je 0x48b9d4
push ebp
mov ecx, eax
call fcn.004351f0
jmp 0x48b9d6
cmp dword [0x703a14], ebp
je 0x48b90f
push 0x15ea8
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 3
je 0x48b9d4
push 1
mov ecx, eax
call fcn.004351f0
jmp 0x48b9d6
mov ecx, dword [esi + 0x164]
cmp dword [ecx + 0x20], ebp
je 0x48b956
cmp dword [0x703a18], ebp
je 0x48b956
push 0x15ea8
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 4
je 0x48b94a
push 2
mov ecx, eax
call fcn.004351f0
jmp 0x48b94c
xor eax, eax
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2a4], eax
mov edx, dword [esi + 0x160]
cmp dword [edx + 0x20], ebp
je 0x48b99d
cmp dword [0x703a24], ebp
je 0x48b99d
push 0x15ea8
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 5
je 0x48b991
push 5
mov ecx, eax
call fcn.004351f0
jmp 0x48b993
xor eax, eax
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2a4], eax
mov eax, dword [esi + 0x170]
cmp dword [eax + 0x20], ebp
je 0x48b9e0
cmp dword [0x703a1c], ebp
je 0x48b9e0
push 0x15ea8
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], ebx
je 0x48b9d4
push 3
mov ecx, eax
call fcn.004351f0
jmp 0x48b9d6
xor eax, eax
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2a4], eax
mov ecx, dword [esi + 0x188]
cmp ecx, ebp
mov dword [esp + 0x1c], ecx
je 0x490aab
mov eax, dword [esi + 0x18c]
cmp eax, ebp
mov dword [esp + 0x18], eax
je 0x490aab
movzx ecx, byte [ecx + 0xfd]
mov dword [eax + 0x20], ecx
mov eax, dword [esi + 0x190]
cmp eax, ebp
mov dword [esp + 0x24], eax
je 0x490aab
mov eax, dword [esi + 0x194]
cmp eax, ebp
mov dword [esp + 0x20], eax
je 0x490aab
mov eax, dword [esi + 0x160]
cmp eax, ebp
mov dword [esp + 0x14], eax
je 0x490aab
mov eax, dword [esi + 0x164]
cmp eax, ebp
mov dword [esp + 0x28], eax
je 0x490aab
mov eax, dword [esi + 0x16c]
cmp eax, ebp
mov dword [esp + 0x2c], eax
je 0x490aab
mov al, byte [0x21eadf7]
test al, al
mov byte [0x84f018], 0
jne 0x48bede
mov al, byte [0x21eadf4]
test al, al
jne 0x48bede
mov edx, dword [0x703b9c]
mov ecx, dword [0x21ebef8]
push edx
call fcn.004256f0
test al, al
je 0x48bede
cmp dword [0x703af8], ebp
jne 0x48bad4
push 0x7034e0
push str.TRUE
mov eax, 1
push str.SHOW_INTERFACE
push 0x6a7870
mov dword [0x703a84], eax
mov dword [0x703af8], eax
call dword [sym.imp.kernel32.dll_WritePrivateProfileStringA]
cmp dword [0x703c18], ebp
jne 0x48bede
mov edi, dword [esi + 0x2a0]
cmp edi, ebp
je 0x48bb05
mov ecx, edi
call fcn.0047afe0
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a0], ebp
jmp 0x48bed7
mov eax, dword [0x852b5c]
cmp eax, 0xb
jg 0x48bdf1
cmp eax, 0x6f
je 0x48bdf1
mov eax, dword [esp + 0x14]
cmp byte [eax + 0xdc], 0xff
jne 0x48bb43
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0xe3], 0xff
jne 0x48bb43
mov edx, dword [esp + 0x2c]
cmp byte [edx + 0xd8], 0xff
je 0x48bb4a
mov byte [0x84f018], 1
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov byte [eax + 0xdc], 0xff
mov byte [ecx + 0xe3], 0xff
mov byte [edx + 0xd8], 0xff
mov edi, dword [esi + 0x290]
mov ebp, dword [0x21e6a2c]
xor edx, edx
lea ecx, [esi + 0x1a4]
nop
mov eax, dword [ecx]
cmp eax, edi
jne 0x48bb8a
test ebp, ebp
jne 0x48bbf0
cmp dword [eax + 0x20], 0
je 0x48bbe0
cmp eax, dword [esi + 0x15c]
je 0x48bc12
cmp eax, dword [esi + 0x160]
je 0x48bc56
cmp eax, dword [esi + 0x164]
je 0x48bc9a
cmp eax, dword [esi + 0x16c]
je 0x48bcde
cmp eax, dword [esi + 0x170]
je 0x48bd22
cmp eax, dword [esi + 0x174]
je 0x48bd66
cmp eax, dword [esi + 0x19c]
je 0x48bdaa
inc edx
add ecx, 4
cmp edx, 0x15
jl 0x48bb80
xor ebp, ebp
jmp 0x48bede
mov dword [0x21e6a2c], 0
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov esi, dword [esi + 0x15c]
push 0x447a0000
push 0x21f1d38
push 0x20
push 0
mov ecx, 0x21efa50
call fcn.0052a5b0
mov ecx, esi
mov dword [esi + 0x20], 0
call fcn.004f5270
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov esi, dword [esi + 0x160]
push 0x447a0000
push 0x21f1d38
push 0x20
push 0
mov ecx, 0x21efa50
call fcn.0052a5b0
mov ecx, esi
mov dword [esi + 0x20], 0
call fcn.004e6450
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov esi, dword [esi + 0x164]
push 0x447a0000
push 0x21f1d38
push 0x20
push 0
mov ecx, 0x21efa50
call fcn.0052a5b0
mov ecx, esi
mov dword [esi + 0x20], 0
call fcn.004f2750
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov esi, dword [esi + 0x16c]
push 0x447a0000
push 0x21f1d38
push 0x20
push 0
mov ecx, 0x21efa50
call fcn.0052a5b0
mov ecx, esi
mov dword [esi + 0x20], 0
call fcn.004f8f30
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov esi, dword [esi + 0x170]
push 0x447a0000
push 0x21f1d38
push 0x20
push 0
mov ecx, 0x21efa50
call fcn.0052a5b0
mov ecx, esi
mov dword [esi + 0x20], 0
call fcn.004f0690
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov esi, dword [esi + 0x174]
push 0x447a0000
push 0x21f1d38
push 0x20
push 0
mov ecx, 0x21efa50
call fcn.0052a5b0
mov ecx, esi
mov dword [esi + 0x20], 0
call fcn.004e5bc0
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push 0
push 0x447a0000
push 0x21f1d38
push str.ui_paper001.wav
mov ecx, 0x21efa50
call fcn.00529cb0
mov esi, dword [esi + 0x19c]
mov ecx, esi
mov dword [esi + 0x20], 0
call fcn.004b8090
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push 0x447a0000
push 0x21f1d38
push 0x20
push ebp
mov ecx, 0x21efa50
call fcn.0052a5b0
mov eax, dword [0x852b5c]
add eax, 0xffffffe5
cmp eax, 0x57
ja case.0x48be20.28
movzx eax, byte [eax + 0x490d24]
jmp dword [eax*4 + 0x490d08]
mov ecx, dword [esi + 0x254]
cmp ecx, ebp
je case.0x48be20.28
cmp dword [ecx + 0x31c4], ebp
je case.0x48be20.28
call fcn.00489250
jmp 0x48bed7
mov ecx, dword [esi + 0x220]
cmp ecx, ebp
je case.0x48be20.28
cmp dword [ecx + 0x5fc], ebp
je case.0x48be20.28
call fcn.00489230
jmp 0x48bed7
mov ecx, dword [esi + 0x1ff0]
cmp ecx, ebp
je case.0x48be20.28
cmp dword [ecx + 0x5fc], ebp
je case.0x48be20.28
call fcn.00489230
jmp 0x48bed7
mov ecx, dword [esi + 0x218]
cmp ecx, ebp
je case.0x48be20.28
cmp dword [ecx + 0x282c], ebp
je case.0x48be20.28
call fcn.00489210
jmp 0x48bed7
mov ecx, dword [esi + 0x25c]
cmp ecx, ebp
je case.0x48be20.28
cmp dword [ecx + 0x2dd4], ebp
je case.0x48be20.28
call fcn.00489270
jmp 0x48bed7
mov ecx, dword [esi + 0x2008]
cmp ecx, ebp
je 0x48bed7
cmp dword [ecx + 0x28], ebp
je 0x48bec5
call fcn.004a86a0
jmp 0x48bed7
cmp dword [ecx + 0x2c], ebp
je case.0x48be20.28
call fcn.004a86e0
jmp 0x48bed7
mov dword [0x852b5c], ebp
mov byte [0x84f018], 1
mov eax, dword [0x852b5c]
dec eax
cmp eax, 0x7a
mov edi, 7
ja case.0x48bef9.30
movzx ecx, byte [eax + 0x490e40]
jmp dword [ecx*4 + 0x490d7c]
mov ecx, dword [esi + 0x224]
cmp ecx, ebp
jne 0x48c11a
push 0x1f98
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], edi
je 0x48bf32
mov ecx, eax
call fcn.00500ca0
mov ecx, eax
jmp 0x48bf34
xor ecx, ecx
mov dword [esi + 0x224], ecx
mov eax, dword [0x6f3560]
cdq
sub eax, edx
sar eax, 1
sub eax, 0xbf
push 0x17e
push 0xfa
push eax
mov eax, dword [0x6f355c]
cdq
sub eax, edx
sar eax, 1
sub eax, 0x7d
push eax
mov dword [esp + 0x4c], 0xffffffff
call fcn.00500660
mov ecx, dword [0x856fac]
mov eax, ecx
dec eax
je 0x48c089
dec eax
je 0x48bfea
mov edx, dword [0x856fa8]
push edx
push ecx
mov ecx, 0x85701c
call fcn.00477ca0
mov edi, eax
cmp edi, ebp
je 0x48c0f3
mov eax, dword [0x852b64]
mov ecx, dword [0x856fa8]
mov edx, dword [0x856fac]
push eax
push ecx
push edx
lea eax, [edi + 0x1c]
push eax
mov ecx, 0x84f768
call fcn.004c5da0
mov ecx, dword [0x856fac]
push eax
push ecx
mov ecx, dword [esi + 0x224]
call fcn.00500ec0
mov edx, dword [edi + 0x18]
mov ecx, dword [esi + 0x224]
push edx
call fcn.00500860
mov eax, dword [edi + 4]
push eax
jmp 0x48c0e8
mov ecx, dword [0x856fa8]
push ecx
mov ecx, 0x85701c
call fcn.00477c80
mov edi, eax
cmp edi, ebp
je 0x48c0f3
mov edx, dword [0x852b64]
mov eax, dword [0x856fa8]
mov ecx, dword [0x856fac]
push edx
push eax
push ecx
lea edx, [edi + 0x64]
push edx
mov ecx, 0x84f768
call fcn.004c5da0
mov ecx, dword [esi + 0x224]
push eax
mov eax, dword [0x856fac]
push eax
call fcn.00500ec0
mov ecx, dword [edi + 0x18]
push ecx
mov ecx, dword [esi + 0x224]
call fcn.00500860
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x224]
push edx
call fcn.005007c0
mov edi, dword [edi + 0x10]
cmp edi, 2
mov al, byte [0x21e6a42]
jne 0x48c068
cmp al, 1
jne 0x48c075
cmp edi, 1
jne 0x48c0f3
test al, al
je 0x48c0f3
mov ecx, dword [esi + 0x224]
push ebp
add ecx, 0x528
call fcn.00516a50
jmp 0x48c0f3
mov eax, dword [0x856fa8]
push eax
mov ecx, 0x85701c
call fcn.00477c60
mov edi, eax
cmp edi, ebp
je 0x48c0f3
mov ecx, dword [0x852b64]
mov edx, dword [0x856fa8]
mov eax, dword [0x856fac]
push ecx
push edx
push eax
lea ecx, [edi + 0xec]
push ecx
mov ecx, 0x84f768
call fcn.004c5da0
movzx edx, byte [edi + 4]
mov ecx, dword [esi + 0x224]
push eax
push edx
call fcn.00500ff0
mov eax, dword [edi + 0x1c]
mov ecx, dword [esi + 0x224]
push eax
call fcn.00500860
mov ecx, dword [edi + 8]
push ecx
mov ecx, dword [esi + 0x224]
call fcn.005007c0
mov ecx, dword [esi + 0x224]
xor edx, edx
mov dx, word [0x856fa8]
xor eax, eax
mov al, byte [0x856fac]
push edx
push eax
push 0x21e75e8
call fcn.00500810
jmp 0x48c735
mov edx, dword [ecx]
call dword [edx + 4]
mov edi, eax
cmp edi, 0x64
je 0x48b523
cmp edi, ebp
je 0x48c644
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x224]
cmp ecx, ebp
je 0x48c14e
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x224], ebp
mov eax, dword [0x856fac]
lea ecx, [eax - 1]
cmp ecx, 0xd
ja case.default.0x48c15f
jmp dword [ecx*4 + 0x490ebc]
mov ecx, dword [0x856fa8]
push ecx
mov ecx, 0x85701c
call fcn.00477c60
cmp eax, ebp
je case.default.0x48c15f
cmp edi, 2
jne 0x48c26f
mov al, byte [eax + 4]
cmp al, 9
jne 0x48c1b1
mov dword [0x852b5c], 0x6e
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp al, 8
jne 0x48c1d7
mov dword [0x852b5c], 0x6d
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp al, 0x64
jne 0x48c1fd
mov dword [0x852b5c], 0x73
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp al, 0x75
jne 0x48c223
mov dword [0x852b5c], 0x75
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp al, 0xf
je 0x48c24d
cmp al, 0x10
je 0x48c24d
mov dword [0x852b5c], 0x65
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov dword [0x852b5c], 0x78
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 3
jne case.default.0x48c15f
mov edx, dword [0x852b64]
mov ecx, dword [0x856fa8]
push edx
mov edx, dword [0x856fac]
push ecx
push edx
add eax, 0xec
push eax
mov ecx, 0x84f768
call fcn.004c6360
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 2
jne 0x48c318
mov dword [0x852b5c], 0x66
call fcn.005886d0
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 2
jne 0x48c318
mov ecx, 0x84f768
call fcn.004c4870
dec eax
neg eax
sbb eax, eax
and eax, 0xfffffff5
add eax, 0x72
mov dword [0x852b5c], eax
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 3
jne case.default.0x48c15f
mov ecx, dword [0x856fa8]
push ecx
push eax
mov ecx, 0x85701c
call fcn.00477ca0
cmp eax, ebp
je case.default.0x48c15f
mov edx, dword [0x852b64]
mov ecx, dword [0x856fa8]
push edx
mov edx, dword [0x856fac]
push ecx
push edx
add eax, 0x1c
push eax
mov ecx, 0x84f768
call fcn.004c6360
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 2
jne 0x48c39d
mov dword [0x852b5c], 0x6b
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 3
jne case.default.0x48c15f
mov eax, dword [0x856fa8]
push eax
mov ecx, 0x85701c
call fcn.00477c80
cmp eax, ebp
je case.default.0x48c15f
mov ecx, dword [0x852b64]
mov edx, dword [0x856fa8]
push ecx
mov ecx, dword [0x856fac]
push edx
push ecx
add eax, 0x64
push eax
mov ecx, 0x84f768
call fcn.004c6360
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 2
jne case.0x48c15f.7
call fcn.00588a80
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 2
jne case.0x48c15f.7
mov dword [0x852b5c], 0x6a
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 2
jne case.0x48c15f.7
cmp dword [0x84f778], 0x10
jl 0x48c461
mov al, byte [0x851b1e]
test al, al
jne 0x48c46b
mov dword [0x852b5c], 0x6c
call fcn.00588ae0
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 2
jne case.0x48c15f.7
mov ecx, 0x84f768
call fcn.004c4870
dec eax
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 0x71
mov dword [0x852b5c], eax
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 3
jne case.default.0x48c15f
mov edx, dword [0x856fa8]
push edx
push eax
mov ecx, 0x85701c
call fcn.00477ca0
cmp eax, ebp
je case.default.0x48c15f
mov ecx, dword [0x852b64]
mov edx, dword [0x856fa8]
push ecx
mov ecx, dword [0x856fac]
push edx
push ecx
add eax, 0x1c
push eax
mov ecx, 0x84f768
call fcn.004c6360
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 2
jne 0x48c5c4
mov edi, dword [esi + 0x2a8]
cmp edi, ebp
mov dword [esi + 0x2b4], 1
je 0x48c550
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a8], ebp
movzx edx, byte [0x21e7688]
push 0xa40
mov dword [0x706388], edx
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, ebp
mov dword [esp + 0x3c], 8
je 0x48c624
push 0x1434
call fcn.0041b230
add esp, 4
push eax
push 0xff
push 0xff
push 0xff
push 1
mov ecx, edi
call fcn.004bc830
mov dword [esi + 0x2a8], eax
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 3
jne case.default.0x48c15f
mov dword [esi + 0x2b4], edi
mov edi, dword [esi + 0x2a8]
cmp edi, ebp
je 0x48c5ef
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a8], ebp
movzx eax, byte [0x21e7689]
push 0xa40
mov dword [0x706388], eax
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, ebp
mov dword [esp + 0x3c], 9
je 0x48c624
push 0x1435
jmp 0x48c585
xor eax, eax
mov dword [esi + 0x2a8], eax
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x224]
cmp ecx, ebp
je 0x48c733
call fcn.00500b50
test al, al
je 0x48c733
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x1f8]
cmp ecx, ebp
jne 0x48c7d4
push 0xf90
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xa
je 0x48c6ab
mov ecx, eax
call fcn.0048a8b0
jmp 0x48c6ad
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x1f8], eax
je 0x490aab
mov ecx, dword [esi + 0x160]
cmp dword [ecx + 0x20], ebp
jne 0x48c6e0
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x1f8]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48c70e
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48c714
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004f9810
mov eax, dword [0x852b64]
mov ecx, dword [0x856fa8]
push eax
push ecx
mov ecx, dword [esi + 0x1f8]
call fcn.004f99a0
xor ebp, ebp
mov edi, dword [esp + 0x1c]
cmp dword [edi + 0x20], ebp
je 0x48f575
mov dl, byte [edi + 0x49]
cmp dl, 0xff
je 0x48f575
mov eax, dword [edi + 4]
mov ecx, dword [0x706454]
cmp ecx, eax
jl 0x48c77e
mov ebx, dword [edi + 0xc]
add ebx, eax
cmp ecx, ebx
jg 0x48c77e
mov eax, dword [edi + 8]
mov ecx, dword [0x706458]
cmp ecx, eax
jl 0x48c77e
mov ebx, dword [edi + 0x10]
add ebx, eax
cmp ecx, ebx
jle 0x48f55b
mov ecx, dword [esp + 0x18]
xor eax, eax
mov al, byte [edi + 0x48]
push ebp
push edx
push eax
call fcn.004d44a0
test eax, eax
jne 0x48c7cb
xor ecx, ecx
mov cl, byte [edi + 0x49]
xor edx, edx
mov dl, byte [edi + 0x48]
push ebp
push ecx
mov ecx, dword [esp + 0x2c]
push edx
call fcn.004daa40
test eax, eax
jne 0x48c7cb
xor eax, eax
mov al, byte [edi + 0x49]
xor ecx, ecx
mov cl, byte [edi + 0x48]
push ebp
push eax
push ecx
mov ecx, dword [esp + 0x2c]
call fcn.004d3b30
test eax, eax
je 0x48f55b
mov byte [edi + 0x49], 0xff
jmp case.default.0x4908b8
mov edx, dword [esi + 0x160]
push edx
call fcn.004f9df0
test eax, eax
je 0x48c80a
mov eax, dword [esi + 0x160]
push eax
mov ecx, esi
call fcn.00489290
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov edi, dword [esp + 0x14]
cmp dword [edi + 0xd8], ebp
jne 0x48c856
xor ecx, ecx
mov cl, byte [edi + 0xdc]
xor edx, edx
mov dl, byte [edi + 0xdd]
push ecx
mov ecx, dword [esi + 0x1f8]
push edx
call fcn.004f9a40
test eax, eax
je 0x48c856
mov byte [edi + 0xdc], 0xff
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x1f8]
mov eax, dword [ecx]
call dword [eax + 4]
test eax, eax
je 0x48c733
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x21c]
cmp ecx, ebp
jne 0x48c9a8
push 0x1f9c
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xb
je 0x48c8b5
mov ecx, eax
call fcn.004a6570
jmp 0x48c8b7
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x21c], eax
je 0x490aab
mov ecx, dword [0x856fa8]
push ecx
mov ecx, 0x85701c
call fcn.00477c60
mov edx, dword [esi + 0x160]
mov ebx, eax
mov eax, dword [edx + 0x20]
test eax, eax
jne 0x48c8ff
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov eax, dword [esi + 0x160]
push eax
mov ecx, esi
call fcn.00489290
mov edx, dword [esi + 0x160]
mov ecx, dword [esi + 0x21c]
mov edi, dword [ecx + 0xc]
mov eax, dword [edx + 4]
sub eax, edi
mov ebp, dword [edx + 8]
js 0x48c92d
mov eax, dword [edx + 4]
sub eax, edi
jmp 0x48c933
mov eax, dword [edx + 0xc]
add eax, dword [edx + 4]
mov dl, byte [ebx + 4]
cmp dl, 0xf
jne 0x48c94b
push 1
push ebp
push eax
call fcn.004a5fd0
push 0x1580
jmp 0x48c95e
cmp dl, 0x10
jne 0x48c972
push 0
push ebp
push eax
call fcn.004a5fd0
push 0x1581
call fcn.0041b230
mov ecx, dword [esi + 0x21c]
add esp, 4
push eax
call fcn.00500860
mov ecx, dword [ebx + 8]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.005007c0
mov ecx, dword [esi + 0x21c]
xor edx, edx
mov dx, word [0x856fa8]
xor eax, eax
mov al, byte [0x856fac]
push edx
push eax
push 0x21e75e8
call fcn.00500810
jmp 0x48c733
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, ebp
je 0x48c733
cmp eax, 2
je 0x48c9c9
cmp eax, 3
je 0x48c9ce
cmp eax, 4
je 0x48c9c9
cmp eax, 5
jne 0x48ca13
cmp eax, 3
jne 0x48c9da
mov dword [0x852b5c], 0x79
jmp 0x48c9fd
cmp eax, 4
jne 0x48c9eb
mov dword [0x852b5c], 0x7a
jmp 0x48c9fd
xor ecx, ecx
cmp eax, 5
setne cl
dec ecx
and ecx, 0x7b
mov dword [0x852b5c], ecx
mov ecx, dword [esi + 0x21c]
cmp ecx, ebp
je 0x48ca13
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x21c], ebp
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x210]
cmp ecx, ebp
jne 0x48caf6
push 0x20ac
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xc
je 0x48ca5f
mov ecx, eax
call fcn.004a5c60
jmp 0x48ca61
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x210], eax
je 0x490aab
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebp
jne 0x48ca94
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x210]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48cac2
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48cac8
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004a4440
xor eax, eax
mov ax, word [0x856fa8]
xor ecx, ecx
mov cl, byte [0x856fac]
push eax
push ecx
mov ecx, dword [esi + 0x210]
push 0x21e75e8
call fcn.004d70e0
jmp 0x48c733
mov edx, dword [esi + 0x160]
push edx
call fcn.004a4dd0
cmp eax, ebp
je 0x48c733
cmp eax, 2
je 0x48cb48
cmp eax, 4
jne 0x48cb30
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x210]
cmp ecx, ebp
je 0x48cb30
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x210], ebp
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov dword [0x852b5c], 0x78
jmp 0x48cb1a
mov ecx, dword [esi + 0x208]
cmp ecx, ebp
jne 0x48cc1f
push 0x2098
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xd
je 0x48cb88
mov ecx, eax
call fcn.004a7900
jmp 0x48cb8a
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x208], eax
je 0x490aab
mov ecx, dword [esi + 0x160]
cmp dword [ecx + 0x20], ebp
jne 0x48cbbd
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x208]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48cbeb
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48cbf1
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004a67a0
xor eax, eax
mov ax, word [0x856fa8]
xor ecx, ecx
mov cl, byte [0x856fac]
push eax
push ecx
mov ecx, dword [esi + 0x208]
push 0x21e75e8
call fcn.004a6b50
jmp 0x48c733
mov edx, dword [esi + 0x160]
push edx
call fcn.004a6e30
cmp eax, ebp
je 0x48c733
cmp eax, 2
je 0x48cc71
cmp eax, 4
jne 0x48cc59
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x208]
cmp ecx, ebp
je 0x48cc59
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x208], ebp
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov dword [0x852b5c], 0x78
jmp 0x48cc43
mov ecx, dword [esi + 0x20c]
cmp ecx, ebp
jne 0x48cd48
push 0x2098
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xe
je 0x48ccb1
mov ecx, eax
call fcn.004a40f0
jmp 0x48ccb3
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x20c], eax
je 0x490aab
mov ecx, dword [esi + 0x160]
cmp dword [ecx + 0x20], ebp
jne 0x48cce6
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x20c]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48cd14
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48cd1a
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004a3400
xor eax, eax
mov ax, word [0x856fa8]
xor ecx, ecx
mov cl, byte [0x856fac]
push eax
push ecx
mov ecx, dword [esi + 0x20c]
push 0x21e75e8
call fcn.004a6b50
jmp 0x48c733
mov edx, dword [esi + 0x160]
push edx
call fcn.004a3930
cmp eax, ebp
je 0x48c733
cmp eax, 2
je 0x48cd66
cmp eax, 4
jne 0x48cd82
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x20c]
cmp ecx, ebp
je 0x48cd82
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x20c], ebp
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x218]
cmp ecx, ebp
jne 0x48ce65
push 0x2aec
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xf
je 0x48cdce
mov ecx, eax
call fcn.004d9f30
jmp 0x48cdd0
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x218], eax
je 0x490aab
mov ecx, dword [esi + 0x160]
cmp dword [ecx + 0x20], ebp
jne 0x48ce03
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x218]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48ce31
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48ce37
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004d8cf0
xor eax, eax
mov ax, word [0x856fa8]
xor ecx, ecx
mov cl, byte [0x856fac]
push eax
push ecx
mov ecx, dword [esi + 0x218]
push 0x21e75e8
call fcn.004d9440
jmp 0x48c733
mov edx, dword [esi + 0x160]
push edx
call fcn.004d9690
cmp eax, ebp
je 0x48c733
cmp eax, 2
je 0x48ce8d
cmp eax, 3
je 0x48ce92
cmp eax, 4
je 0x48ce8d
cmp eax, 5
jne 0x48cec6
cmp eax, 3
jne 0x48ce9e
mov dword [0x852b5c], 0x68
jmp 0x48ceb0
xor ecx, ecx
cmp eax, 5
setne cl
dec ecx
and ecx, 0x77
mov dword [0x852b5c], ecx
mov ecx, dword [esi + 0x218]
cmp ecx, ebp
je 0x48cec6
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x218], ebp
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x200]
cmp ecx, ebp
jne 0x48cfa9
push 0x252c
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x10
je 0x48cf12
mov ecx, eax
call fcn.00494490
jmp 0x48cf14
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x200], eax
je 0x490aab
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebp
jne 0x48cf47
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x200]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48cf75
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48cf7b
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.00491d30
xor eax, eax
mov ax, word [0x856fa8]
xor ecx, ecx
mov cl, byte [0x856fac]
push eax
push ecx
mov ecx, dword [esi + 0x200]
push 0x21e75e8
call fcn.004925a0
jmp 0x48c733
mov edx, dword [esi + 0x160]
push edx
call fcn.00492fb0
cmp eax, ebp
je 0x48c733
cmp eax, 2
je 0x48cffb
cmp eax, 4
jne 0x48cfe3
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x200]
cmp ecx, ebp
je 0x48cfe3
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x200], ebp
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov dword [0x852b5c], 0x66
jmp 0x48cfcd
mov ecx, dword [esi + 0x204]
cmp ecx, ebp
jne 0x48d0d2
push 0x20b0
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x11
je 0x48d03b
mov ecx, eax
call fcn.004d8960
jmp 0x48d03d
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x204], eax
je 0x490aab
mov ecx, dword [esi + 0x160]
cmp dword [ecx + 0x20], ebp
jne 0x48d070
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x204]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48d09e
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48d0a4
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004d6d40
xor eax, eax
mov ax, word [0x856fa8]
xor ecx, ecx
mov cl, byte [0x856fac]
push eax
push ecx
mov ecx, dword [esi + 0x204]
push 0x21e75e8
call fcn.004d70e0
jmp 0x48c733
mov edx, dword [esi + 0x160]
push edx
call fcn.004d7900
cmp eax, ebp
je 0x48c733
cmp eax, 2
je 0x48d124
cmp eax, 4
jne 0x48d10c
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x204]
cmp ecx, ebp
je 0x48d10c
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x204], ebp
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov dword [0x852b5c], 0x66
jmp 0x48d0f6
mov ecx, dword [esi + 0x214]
cmp ecx, ebp
jne 0x48d19b
push 0x5bc
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x12
je 0x48d160
mov ecx, eax
call fcn.0046b3f0
jmp 0x48d162
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x214], eax
je 0x490aab
mov ecx, dword [0x706458]
mov edx, dword [0x706454]
add ecx, 0xffffff56
push ecx
add edx, 0xffffffec
push edx
mov ecx, eax
call fcn.0046ad30
jmp 0x48c735
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, ebp
je 0x48c733
cmp eax, 2
jne 0x48d1c9
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x214]
cmp ecx, ebp
je 0x48d1c9
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x214], ebp
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x220]
cmp ecx, ebp
jne 0x48d2ac
push 0x828
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x13
je 0x48d215
mov ecx, eax
call fcn.004fed40
jmp 0x48d217
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x220], eax
je 0x490aab
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebp
jne 0x48d24a
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x220]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48d278
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48d27e
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004fe1b0
xor eax, eax
mov ax, word [0x856fa8]
xor ecx, ecx
mov cl, byte [0x856fac]
push eax
push ecx
mov ecx, dword [esi + 0x220]
push 0x21e75e8
call fcn.0049a6b0
jmp 0x48c733
mov edx, dword [esi + 0x160]
push edx
call fcn.00500440
cmp eax, ebp
je 0x48c733
cmp eax, 2
jne 0x48d2e1
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x220]
cmp ecx, ebp
je 0x48d2e1
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x220], ebp
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x1ff0]
cmp ecx, ebp
jne 0x48d3c4
push 0x828
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x14
je 0x48d32d
mov ecx, eax
call fcn.0049c550
jmp 0x48d32f
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x1ff0], eax
je 0x490aab
mov ecx, dword [esi + 0x160]
cmp dword [ecx + 0x20], ebp
jne 0x48d362
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x1ff0]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48d390
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48d396
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004fe1b0
xor eax, eax
mov ax, word [0x856fa8]
xor ecx, ecx
mov cl, byte [0x856fac]
push eax
push ecx
mov ecx, dword [esi + 0x1ff0]
push 0x21e75e8
call fcn.0049a6b0
jmp 0x48c733
mov edx, dword [esi + 0x160]
push edx
call fcn.0049c330
cmp eax, ebp
je 0x48c733
cmp eax, 2
jne 0x48d3f9
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x1ff0]
cmp ecx, ebp
je 0x48d3f9
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x1ff0], ebp
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x260]
cmp ecx, ebp
jne 0x48d4fb
mov ecx, dword [0x856fa8]
push ecx
mov ecx, 0x85701c
call fcn.00477c80
mov edi, eax
cmp edi, ebp
je 0x48e8da
push 0x2a84
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x15
je 0x48d460
mov ecx, eax
call fcn.004917c0
jmp 0x48d462
xor eax, eax
mov dword [esi + 0x260], eax
xor edx, edx
mov dx, word [0x856fa8]
xor ecx, ecx
mov cl, byte [0x856fac]
mov dword [esp + 0x3c], 0xffffffff
push edx
push ecx
push 0x21e75e8
mov ecx, eax
call fcn.00491250
mov eax, dword [edi + 0x5c]
cmp eax, ebp
jne 0x48d49b
mov eax, 0x6a75d5
mov ecx, dword [edi + 0x44]
cmp ecx, ebp
mov edx, 0x6a75d5
je 0x48d4a9
mov edx, ecx
mov ecx, dword [edi + 0x2c]
cmp ecx, ebp
jne 0x48d4b5
mov ecx, 0x6a75d5
mov ebx, dword [edi + 0x50]
push ebx
xor ebx, ebx
mov bx, word [edi + 0x4c]
push ebx
mov ebx, dword [edi + 0x60]
push ebx
push eax
mov eax, dword [edi + 0x38]
push eax
xor eax, eax
mov ax, word [edi + 0x34]
push eax
mov eax, dword [edi + 0x48]
push eax
push edx
mov edx, dword [edi + 0x20]
xor eax, eax
mov ax, word [edi + 0x1c]
push edx
mov edx, dword [edi + 0x30]
push eax
mov eax, dword [0x852b60]
push edx
push ecx
mov ecx, dword [esi + 0x260]
push eax
call fcn.00490f80
jmp 0x48c735
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, 2
jne 0x48d539
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x260]
cmp ecx, ebp
je 0x48d541
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x260], ebp
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp eax, ebp
je 0x48c733
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x1fc]
cmp ecx, ebp
jne 0x48d659
mov ecx, esi
call fcn.004207b0
movzx ecx, word [0x856f9e]
push ecx
mov ecx, 0x85701c
call fcn.00477ce0
mov edi, eax
cmp edi, ebp
je 0x48c733
push 0x31e8
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x16
je 0x48d5b0
mov ecx, eax
call fcn.004d0c40
jmp 0x48d5b2
xor eax, eax
mov ecx, eax
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x1fc], eax
call fcn.004d0f20
mov ecx, dword [esi + 0x1fc]
xor edx, edx
mov dl, byte [0x856fa0]
push edi
push edx
call fcn.004d08e0
xor eax, eax
mov ax, word [0x856fa8]
xor ecx, ecx
mov cl, byte [0x856fac]
push eax
push ecx
mov ecx, dword [esi + 0x1fc]
push 0x21e75e8
call fcn.004d06e0
mov al, byte [0x856f9c]
cmp al, 2
jne 0x48d610
mov edx, dword [edi + 0xc8]
push edx
jmp 0x48d63e
cmp al, 1
jne 0x48d61c
mov eax, dword [edi + 0xd4]
jmp 0x48d63d
cmp al, 3
je 0x48d624
cmp al, 4
jne 0x48d649
mov al, byte [0x856fa0]
cmp al, 3
jne 0x48d633
mov ecx, dword [edi + 8]
push ecx
jmp 0x48d63e
movzx edx, al
mov eax, dword [edi + edx*4 + 0xc8]
push eax
mov ecx, dword [esi + 0x1fc]
call fcn.004d0820
mov ecx, dword [esi + 0x1fc]
mov edx, dword [ecx]
call dword [edx + 4]
jmp 0x48c735
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, eax
cmp ebx, 0x64
je 0x48b523
xor edi, edi
cmp ebx, edi
jle 0x48d6c9
mov dword [0x852b5c], edi
mov ecx, dword [esi + 0x1fc]
cmp ecx, edi
je 0x48d68b
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x1fc], edi
mov al, byte [0x856f9c]
cmp al, 4
jne 0x48d6ce
mov ax, word [0x856fa2]
mov word [0x856f9e], ax
mov byte [0x856f9c], 1
mov dword [0x852b5c], 0x70
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov al, byte [0x856f9c]
cmp al, 2
jne 0x48d72a
cmp ebx, edi
jle 0x48d6f7
xor ecx, ecx
mov cl, bl
dec cl
xor edx, edx
mov dx, word [0x856f9e]
push ecx
push edx
call fcn.005883a0
add esp, 8
cmp ebx, edi
jg 0x48b523
mov ecx, dword [esi + 0x1fc]
cmp ecx, edi
je 0x48c733
call fcn.004d07e0
test al, al
je 0x48c733
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp ebx, 1
jne 0x48d7ef
cmp al, bl
jne 0x48b523
movzx eax, word [0x856f9e]
push eax
mov ecx, 0x85701c
call fcn.00477ce0
cmp eax, edi
je 0x48b523
xor ecx, ecx
mov cl, byte [eax + 0x4c]
xor edx, edx
mov dl, byte [eax + 0x49]
movzx eax, byte [eax + 0x46]
push ecx
mov ecx, 0x84f768
push edx
push eax
call fcn.004c1580
test eax, eax
jne 0x48d7ae
push 0x1436
call fcn.0041b230
mov ecx, dword [0x7034d8]
add esp, 4
push eax
push 0x11
call fcn.0041d380
push edi
push 0x447a0000
push 0x21f1d38
push 0x6aa4c0
mov ecx, 0x21efa50
call fcn.00529cb0
jmp 0x48b523
xor eax, eax
mov al, byte [0x856fa4]
test al, al
je 0x48d7d2
xor ecx, ecx
mov cl, byte [0x856fa5]
push ecx
push eax
call fcn.00587ed0
add esp, 8
mov byte [0x856fa4], 0
mov eax, dword [0x852b64]
xor edx, edx
mov dx, word [0x856f9e]
push edx
push eax
call fcn.00588320
add esp, 8
jmp 0x48b523
cmp ebx, 2
jne 0x48d6ef
mov byte [0x856fa4], 0
mov byte [0x856fa5], 0
jmp 0x48b523
mov ecx, dword [esi + 0x258]
cmp ecx, ebp
jne 0x48d861
push 0x5e98
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x17
je 0x48d84c
mov ecx, eax
call fcn.00497550
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x258], eax
jmp 0x48c735
xor eax, eax
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x258], eax
jmp 0x48c735
call fcn.00496b70
cmp eax, 2
jne 0x48d539
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x258]
cmp ecx, ebp
je 0x48d541
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x258], ebp
jmp 0x48d541
mov ecx, dword [esi + 0x1ff8]
cmp ecx, ebp
jne 0x48d8f5
push 0x50cc
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x18
je 0x48d8c4
mov ecx, eax
call fcn.00499e60
jmp 0x48d8c6
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x1ff8], eax
je 0x48c733
mov ecx, eax
call fcn.004995b0
mov ecx, dword [esi + 0x184]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
jmp 0x48c735
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, 2
jne 0x48d539
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x1ff8]
cmp ecx, ebp
je 0x48d91f
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x1ff8], ebp
mov esi, dword [esi + 0x184]
mov edx, dword [esi]
push ebp
mov ecx, esi
call dword [edx + 0x14]
jmp 0x48d541
mov ecx, dword [esi + 0x1ffc]
cmp ecx, ebp
jne 0x48d993
push 0x5f3c
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x19
je 0x48d962
mov ecx, eax
call fcn.00480060
jmp 0x48d964
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x1ffc], eax
je 0x48c733
mov ecx, eax
call fcn.0047ead0
mov ecx, dword [esi + 0x184]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
jmp 0x48c735
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, 2
jne 0x48d539
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x1ffc]
cmp ecx, ebp
je 0x48d9bd
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x1ffc], ebp
mov esi, dword [esi + 0x184]
mov edx, dword [esi]
push ebp
mov ecx, esi
call dword [edx + 0x14]
jmp 0x48d541
mov ecx, dword [esi + 0x228]
cmp ecx, ebp
jne 0x48da4b
push 0x154
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x1a
je 0x48da00
mov ecx, eax
call fcn.00518a30
jmp 0x48da02
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esi + 0x228], eax
call fcn.00518e20
push 0x1f62
call fcn.0041b230
mov ecx, dword [esi + 0x228]
add esp, 4
push eax
push 0x21e7580
push str._s__s
push ebp
call fcn.00518280
push eax
call fcn.0051d4a0
add esp, 0x10
jmp 0x48c735
call fcn.005184b0
mov edi, eax
cmp edi, ebp
je 0x48dabb
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x228]
cmp ecx, ebp
je 0x48da72
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x228], ebp
cmp edi, 1
jne 0x48da95
push edi
call fcn.0058b810
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 2
jne 0x48daa3
push ebp
call fcn.0058b810
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x228]
cmp ecx, ebp
je 0x48c733
call fcn.00518240
test al, al
je 0x48c733
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x22c]
cmp ecx, ebp
jne 0x48db4f
push 0x154
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x1b
je 0x48db1e
mov ecx, eax
call fcn.00518a30
jmp 0x48db20
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esi + 0x22c], eax
call fcn.00518e20
push 0x2715
call fcn.0041b230
mov ecx, dword [esi + 0x22c]
add esp, 4
jmp 0x48e289
call fcn.005184b0
mov edi, eax
cmp edi, ebp
je 0x48dbc3
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x22c]
cmp ecx, ebp
je 0x48db76
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x22c], ebp
cmp edi, 1
jne 0x48db99
push edi
call fcn.0058a790
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp edi, 2
jne 0x48daa3
push ebp
call fcn.0058a790
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0x22c]
jmp 0x48dac1
mov ecx, dword [esi + 0x230]
cmp ecx, ebp
jne 0x48dc2f
push 0x154
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x1c
je 0x48dbfe
mov ecx, eax
call fcn.00518a30
jmp 0x48dc00
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esi + 0x230], eax
call fcn.00518e20
push 0x1f62
call fcn.0041b230
mov ecx, dword [esi + 0x230]
add esp, 4
jmp 0x48e289
call fcn.005184b0
mov edi, eax
cmp edi, ebp
je 0x48dc80
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x230]
cmp ecx, ebp
je 0x48dc56
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x230], ebp
cmp edi, 1
jne 0x48dc69
push edi
call fcn.0058a7f0
add esp, 4
jmp 0x48dad6
cmp edi, 2
jne 0x48daa3
push ebp
call fcn.0058a7f0
add esp, 4
jmp 0x48dad6
mov ecx, dword [esi + 0x230]
jmp 0x48dac1
mov ecx, dword [esi + 0x1ff4]
cmp ecx, ebp
jne 0x48dcec
push 0x154
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x1d
je 0x48dcbb
mov ecx, eax
call fcn.00518a30
jmp 0x48dcbd
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esi + 0x1ff4], eax
call fcn.00518e20
push 0x1f6b
call fcn.0041b230
mov ecx, dword [esi + 0x1ff4]
add esp, 4
jmp 0x48e289
call fcn.005184b0
mov edi, eax
cmp edi, ebp
je 0x48dd52
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x1ff4]
cmp ecx, ebp
je 0x48dd13
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x1ff4], ebp
cmp edi, 1
jne 0x48daa3
mov eax, dword [0x84716c]
add eax, 0x10
push eax
mov ecx, 0x21ef9b0
call fcn.00527090
mov edi, eax
cmp edi, ebp
je 0x48daa3
mov ecx, esi
call fcn.0048a610
xor ecx, ecx
mov cl, byte [edi]
push ecx
call fcn.0058b610
add esp, 4
jmp 0x48dad6
mov ecx, dword [esi + 0x1ff4]
jmp 0x48dac1
mov ecx, dword [esi + 0x234]
cmp ecx, ebp
jne 0x48ddd2
push 0x154
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x1e
je 0x48dd8d
mov ecx, eax
call fcn.00518a30
jmp 0x48dd8f
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esi + 0x234], eax
call fcn.00518e20
push 0x21e7580
push 0x704b80
call fcn.0041b140
mov eax, 0x21e7580
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48ddc0
sub eax, edx
mov dword [esp + 0x30], eax
jmp 0x48de8d
call fcn.005184b0
mov ebx, eax
xor edi, edi
cmp ebx, edi
je 0x48df22
mov dword [0x852b5c], edi
mov ecx, dword [esi + 0x234]
cmp ecx, edi
je 0x48ddff
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x234], edi
mov eax, dword [0x8507f4]
xor ecx, ecx
mov cl, bl
dec cl
push eax
push ecx
call fcn.00588730
jmp 0x48df02
mov ecx, dword [esi + 0x234]
cmp ecx, ebp
jne 0x48dec7
push 0x154
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x1f
je 0x48de4a
mov ecx, eax
call fcn.00518a30
jmp 0x48de4c
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esi + 0x234], eax
call fcn.00518e20
push 0x21e7580
push 0x704b80
call fcn.0041b140
mov eax, 0x21e7580
add esp, 8
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48de80
sub eax, edx
mov dword [esp + 0x30], eax
je 0x48deaf
push 0xcc
call fcn.0041b230
add esp, 4
cmp eax, ebp
je 0x48c733
mov ecx, dword [esi + 0x234]
jmp 0x48e289
push 0x2717
call fcn.0041b230
mov ecx, dword [esi + 0x234]
add esp, 4
jmp 0x48e289
call fcn.005184b0
mov ebx, eax
xor edi, edi
cmp ebx, edi
je 0x48df22
mov dword [0x852b5c], edi
mov ecx, dword [esi + 0x234]
cmp ecx, edi
je 0x48def0
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x234], edi
mov eax, dword [0x8507f4]
xor ecx, ecx
mov cl, bl
dec cl
push eax
push ecx
call fcn.00587cd0
add esp, 8
cmp ebx, 2
jne 0x48dad6
push 0xd0
push 7
call fcn.0041d9a0
add esp, 8
jmp 0x48dad6
mov ecx, dword [esi + 0x234]
cmp ecx, edi
jmp 0x48dac3
mov ecx, dword [esi + 0x248]
cmp ecx, ebp
jne 0x48df9f
push 0x154
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x20
je 0x48df5f
mov ecx, eax
call fcn.00518a30
jmp 0x48df61
xor eax, eax
push 0x17
mov ecx, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esi + 0x248], eax
call fcn.00518e20
push 0x21e7580
push 0x704b80
call fcn.0041b140
push 0x332
call fcn.0041b230
mov ecx, dword [esi + 0x248]
add esp, 0xc
jmp 0x48e289
call fcn.005184b0
mov edi, eax
cmp edi, ebp
je 0x48dfe8
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x248]
cmp ecx, ebp
je 0x48dfc6
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x248], ebp
cmp edi, 1
jne 0x48dfd9
push ebp
call fcn.0058b460
add esp, 4
jmp 0x48dad6
push 1
call fcn.0058b460
add esp, 4
jmp 0x48dad6
mov ecx, dword [esi + 0x248]
jmp 0x48dac1
mov ecx, dword [esi + 0x27c]
cmp ecx, ebp
jne 0x48e03f
push 0x2bac
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x21
je 0x48e023
mov ecx, eax
call fcn.0048a650
jmp 0x48e025
xor eax, eax
mov ecx, eax
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x27c], eax
call fcn.004dcb70
jmp 0x48c735
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, ebp
je 0x48b523
cmp eax, 2
jne 0x48b523
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x27c]
cmp ecx, ebp
je 0x48dad6
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x27c], ebp
jmp 0x48dad6
mov eax, dword [0x6f3558]
cmp eax, 3
jne 0x48e123
mov ecx, dword [esi + 0x1fe8]
cmp ecx, ebp
jne 0x48e0d8
push 0x5d8
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x22
je 0x48e0c6
mov ecx, eax
call fcn.00516590
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x1fe8], eax
jmp 0x48e0e4
xor eax, eax
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x1fe8], eax
jmp 0x48e0e4
mov al, byte [ecx + 0x14]
test al, al
jne 0x48e0e4
call fcn.0050cdb0
mov ecx, dword [esi + 0x1fe8]
cmp ecx, ebp
je 0x48c735
call fcn.0050aac0
cmp eax, ebp
je 0x48c733
cmp eax, 1
jne 0x48c733
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x1fe8]
call fcn.0050d2f0
call fcn.0058b8b0
jmp 0x48dad6
cmp eax, edi
jne 0x48e132
mov dword [0x852b5c], ebp
jmp 0x48dad6
mov ecx, dword [esi + 0x284]
cmp ecx, ebp
jne 0x48e17e
push 0x8258
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x23
je 0x48e162
mov ecx, eax
call fcn.0048ab90
jmp 0x48e164
xor eax, eax
mov ecx, eax
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x284], eax
call fcn.004cd110
jmp 0x48c735
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, ebp
je 0x48b523
cmp eax, 2
jne 0x48e1b5
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x284]
cmp ecx, ebp
je 0x48dad6
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x284], ebp
jmp 0x48dad6
cmp eax, 3
jne 0x48b523
mov dword [0x852b5c], 0x13
mov ecx, dword [esi + 0x284]
cmp ecx, ebp
je 0x48dad6
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x284], ebp
jmp 0x48dad6
mov ecx, dword [esi + 0x238]
cmp ecx, ebp
jne 0x48e29e
push 0x154
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x24
je 0x48e21b
mov ecx, eax
call fcn.00518a30
jmp 0x48e21d
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esi + 0x238], eax
call fcn.00518e20
push 0x21e7580
push 0x704b80
call fcn.0041b140
mov eax, 0x21e7580
add esp, 8
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48e250
sub eax, edx
mov dword [esp + 0x30], eax
je 0x48e276
push 0xd2
call fcn.0041b230
add esp, 4
cmp eax, ebp
je 0x48c733
jmp 0x48e283
push 0x2718
call fcn.0041b230
add esp, 4
mov ecx, dword [esi + 0x238]
push eax
push ebp
call fcn.00518280
push eax
call fcn.0051d4a0
add esp, 8
jmp 0x48c735
call fcn.005184b0
mov ebx, eax
xor edi, edi
cmp ebx, edi
je 0x48e2f3
mov dword [0x852b5c], edi
mov ecx, dword [esi + 0x238]
cmp ecx, edi
je 0x48e2c7
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x238], edi
xor eax, eax
mov al, bl
dec al
push eax
call fcn.00588890
add esp, 4
cmp ebx, 2
jne 0x48dad6
push 0x12c
push 7
call fcn.0041d9a0
add esp, 8
jmp 0x48dad6
mov ecx, dword [esi + 0x238]
cmp ecx, edi
jmp 0x48dac3
mov ecx, dword [esi + 0x23c]
cmp ecx, ebp
jne 0x48e37b
push 0x154
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x25
je 0x48e330
mov ecx, eax
call fcn.00518a30
jmp 0x48e332
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esi + 0x23c], eax
call fcn.00518e20
push 0x14f7
call fcn.0041b230
mov ecx, dword [esi + 0x23c]
add esp, 4
push eax
push 0x21e7580
push 0x6a81c8
push ebp
call fcn.00518280
push eax
call fcn.0051d4a0
add esp, 0x10
jmp 0x48c735
call fcn.005184b0
mov edi, eax
cmp edi, ebp
je 0x48e3db
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x23c]
cmp ecx, ebp
je 0x48e3a2
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x23c], ebp
cmp edi, 1
jne 0x48e3b4
push ebp
call fcn.0058b070
push 0x14f9
jmp 0x48e3c0
push 1
call fcn.0058b070
push 0x14f8
call fcn.0041b230
mov ecx, dword [0x7034d8]
add esp, 8
push eax
push 7
call fcn.0041d380
jmp 0x48dad6
mov ecx, dword [esi + 0x23c]
jmp 0x48dac1
mov ecx, dword [esi + 0x240]
cmp ecx, ebp
jne 0x48e461
push 0x154
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x26
je 0x48e416
mov ecx, eax
call fcn.00518a30
jmp 0x48e418
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esi + 0x240], eax
call fcn.00518e20
push 0x2719
call fcn.0041b230
mov ecx, dword [esi + 0x240]
add esp, 4
push eax
push 0x21e7580
push 0x6a81c8
push ebp
call fcn.00518280
push eax
call fcn.0051d4a0
add esp, 0x10
jmp 0x48c735
call fcn.005184b0
mov edi, eax
cmp edi, ebp
je 0x48e4b6
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x240]
cmp ecx, ebp
je 0x48e488
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x240], ebp
cmp edi, 1
jne 0x48e49b
push edi
call fcn.0058ab40
add esp, 4
jmp case.default.0x4908b8
push ebp
call fcn.0058ab40
push 0x1437
call fcn.0041b230
add esp, 8
push eax
push 7
jmp 0x48b813
mov ecx, dword [esi + 0x240]
jmp 0x48e60a
mov ecx, dword [esi + 0x244]
cmp ecx, ebp
jne 0x48e50f
push 0x154
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x27
je 0x48e4f1
mov ecx, eax
call fcn.00518a30
jmp 0x48e4f3
xor eax, eax
push 0x14
mov ecx, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esi + 0x244], eax
call fcn.00518e20
jmp 0x48c735
call fcn.005184b0
mov edi, eax
cmp edi, ebp
je 0x48e604
cmp dword [0x852b5c], ebx
jne 0x48e534
cmp edi, 1
sete cl
push ecx
call fcn.0058b0d0
jmp 0x48e540
cmp edi, 1
sete dl
push edx
call fcn.0058b160
add esp, 4
cmp edi, 2
jne 0x48e572
cmp dword [0x852b5c], ebx
jne 0x48e557
push 0x1438
jmp 0x48e55c
push 0x14ba
call fcn.0041b230
mov ecx, dword [0x7034d8]
add esp, 4
push eax
push 7
call fcn.0041d380
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x244]
cmp ecx, ebp
je case.default.0x4908b8
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x244], ebp
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x244]
cmp ecx, ebp
jne 0x48e5ff
push 0x154
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x28
je 0x48e5c7
mov ecx, eax
call fcn.00518a30
jmp 0x48e5c9
xor eax, eax
push 0x15
mov ecx, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esi + 0x244], eax
call fcn.00518e20
mov ecx, dword [esi + 0x244]
push 0x21e7580
push ebp
call fcn.00518280
push eax
call fcn.0051d4a0
add esp, 8
jmp 0x48c735
call fcn.005184b0
mov ecx, dword [esi + 0x244]
cmp ecx, ebp
je 0x48c733
call fcn.00518240
test al, al
je 0x48c733
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x250]
cmp ecx, ebp
jne 0x48e6ed
mov ecx, dword [esi + 0x244]
cmp ecx, ebp
je 0x48e648
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x244], ebp
push 0xab4
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x29
je 0x48e66e
mov ecx, eax
call fcn.00503c50
jmp 0x48e670
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x250], eax
je 0x490aab
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebp
jne 0x48e6a3
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x250]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48e6db
mov edx, dword [eax + 4]
sub edx, edi
push ebp
push edx
call fcn.00502890
jmp 0x48c733
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.00502890
jmp 0x48c733
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0xd8]
push eax
xor edx, edx
mov dl, byte [edi + 0xdc]
xor eax, eax
mov al, byte [edi + 0xdd]
push edx
push eax
call fcn.00502a60
test eax, eax
jne 0x48f885
mov ecx, dword [esi + 0x250]
mov edx, dword [ecx]
call dword [edx + 4]
test eax, eax
je 0x48c733
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x254]
cmp ecx, ebp
jne 0x48e77d
push 0x32d0
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x2a
je 0x48e75f
mov ecx, eax
call fcn.004d0520
jmp 0x48e761
xor eax, eax
push ebp
push ebp
mov ecx, eax
mov dword [esp + 0x44], 0xffffffff
mov dword [esi + 0x254], eax
call fcn.004cfaa0
jmp 0x48c735
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, ebp
je 0x48e7ab
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x254]
cmp ecx, ebp
je case.default.0x4908b8
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x254], ebp
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x254]
cmp ecx, ebp
je 0x48c733
call fcn.004cff30
test al, al
je 0x48c733
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x25c]
cmp ecx, ebp
jne 0x48e83b
push 0x33c0
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x2b
je 0x48e7fb
mov ecx, eax
call fcn.00485f00
jmp 0x48e7fd
xor eax, eax
push ebp
push ebp
mov ecx, eax
mov dword [esp + 0x44], 0xffffffff
mov dword [esi + 0x25c], eax
call fcn.00484ed0
xor eax, eax
mov ax, word [0x856fa8]
xor ecx, ecx
mov cl, byte [0x856fac]
push eax
push ecx
mov ecx, dword [esi + 0x25c]
push 0x21e75e8
call fcn.00485400
jmp 0x48c735
mov edx, dword [ecx]
call dword [edx + 4]
mov edi, eax
cmp edi, 2
je 0x48e851
cmp edi, 3
je 0x48e851
cmp edi, 4
jne 0x48e87e
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x25c]
cmp ecx, ebp
je 0x48e86d
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x25c], ebp
cmp edi, 4
jne 0x48e87e
mov byte [0x707140], 8
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x25c]
cmp ecx, ebp
je 0x48e895
call fcn.00485370
test al, al
jne 0x48b523
cmp edi, 1
jg 0x48b523
cmp edi, 0x64
jne 0x48c733
jmp case.default.0x4908b8
mov eax, dword [0x21e7548]
cmp eax, 2
mov edx, dword [0x84716c]
jne 0x48e8e5
cmp dword [edx + 0xdc], edi
je 0x48e8e5
mov ecx, dword [esi + 0x264]
cmp ecx, ebp
je 0x48e8da
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x264], ebp
mov dword [0x852b5c], ebp
jmp 0x48c735
mov ecx, dword [esi + 0x264]
cmp ecx, ebp
jne 0x48e9c5
cmp eax, ebp
jne 0x48e917
cmp dword [edx + 0xdc], edi
jne 0x48c735
call fcn.0058adc0
mov dword [0x21e7548], 1
jmp 0x48c735
cmp eax, 2
jne 0x48c735
push 0xf80
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x2c
je 0x48e946
mov ecx, eax
call fcn.004dfbe0
jmp 0x48e948
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x264], eax
je 0x490aab
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebp
jne 0x48e97b
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x264]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48e9b3
mov edx, dword [eax + 4]
sub edx, edi
push ebp
push edx
call fcn.004de2e0
jmp 0x48c733
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004de2e0
jmp 0x48c733
mov eax, dword [esi + 0x160]
push eax
call fcn.004de590
cmp eax, 2
jne 0x48f145
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x264]
cmp ecx, ebp
je case.default.0x4908b8
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x264], ebp
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x268]
cmp ecx, ebp
jne 0x48eab2
push 0xaa8
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x2d
je 0x48ea33
mov ecx, eax
call fcn.004dfdf0
jmp 0x48ea35
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x268], eax
je 0x490aab
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebp
jne 0x48ea68
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x268]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48eaa0
mov edx, dword [eax + 4]
sub edx, edi
push ebp
push edx
call fcn.004df1e0
jmp 0x48c733
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004df1e0
jmp 0x48c733
mov eax, dword [esi + 0x160]
push eax
call fcn.004df380
cmp eax, 2
jne 0x48f145
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x268]
cmp ecx, ebp
je case.default.0x4908b8
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x268], ebp
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x26c]
cmp ecx, ebp
jne 0x48eb5c
push 0x1fac
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x2e
je 0x48eb1c
mov ecx, eax
call fcn.00509ab0
jmp 0x48eb1e
xor eax, eax
push ebp
push ebp
mov ecx, eax
mov dword [esp + 0x44], 0xffffffff
mov dword [esi + 0x26c], eax
call fcn.00508e60
xor eax, eax
mov ax, word [0x856fa8]
xor ecx, ecx
mov cl, byte [0x856fac]
push eax
push ecx
mov ecx, dword [esi + 0x26c]
push 0x21e75e8
call fcn.00509430
jmp 0x48c735
mov edx, dword [ecx]
call dword [edx + 4]
mov edi, eax
cmp edi, 2
jne 0x48eb8d
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x26c]
cmp ecx, ebp
je case.default.0x4908b8
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x26c], ebp
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x26c]
cmp ecx, ebp
je 0x48eba4
call fcn.00509390
test al, al
jne 0x48b523
cmp edi, 1
jle 0x48c733
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x270]
cmp ecx, ebp
jne 0x48ec97
push 0x2cc0
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x2f
je 0x48ebe6
mov ecx, eax
call fcn.0047e0b0
jmp 0x48ebe8
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x270], eax
je 0x490aab
mov ecx, dword [esi + 0x160]
cmp dword [ecx + 0x20], ebp
jne 0x48ec1b
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.00489290
mov edi, dword [esi + 0x160]
mov eax, dword [esi + 0x270]
mov ebp, dword [eax + 0xc]
mov ecx, dword [edi + 4]
sub ecx, ebp
mov ebx, dword [edi + 8]
js 0x48ec59
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x270]
sub eax, ebp
push ebx
push eax
call fcn.0047d4e0
jmp 0x48c733
mov ecx, dword [edi + 0xc]
mov edx, dword [0x6f355c]
sub edx, ecx
sub edx, ebp
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fmul dword [0x6a84d0]
call fcn.005b8b18
test eax, eax
jge 0x48ec7f
xor eax, eax
lea ecx, [eax + ebp]
push ebx
mov dword [edi + 4], ecx
mov ecx, dword [esi + 0x270]
push eax
call fcn.0047d4e0
jmp 0x48c733
mov edx, dword [esi + 0x160]
push edx
call fcn.0047c0c0
cmp eax, ebp
je 0x48ecd1
cmp eax, 2
jne 0x48ecd1
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x270]
cmp ecx, ebp
je case.default.0x4908b8
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x270], ebp
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x270]
cmp ecx, ebp
je 0x48c733
call fcn.0047bf70
test al, al
je 0x48c733
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x288]
cmp ecx, ebp
jne 0x48eda4
push 0x814
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x30
je 0x48ed25
mov ecx, eax
call fcn.004a31d0
jmp 0x48ed27
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x288], eax
je 0x490aab
mov ecx, dword [esi + 0x160]
cmp dword [ecx + 0x20], ebp
jne 0x48ed5a
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x288]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48ed92
mov edx, dword [eax + 4]
sub edx, edi
push ebp
push edx
call fcn.004a26f0
jmp 0x48c733
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004a26f0
jmp 0x48c733
mov eax, dword [esi + 0x160]
push eax
call fcn.004a2fa0
cmp eax, ebp
je 0x48c733
cmp eax, 2
jne case.default.0x4908b8
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x288]
cmp ecx, ebp
je case.default.0x4908b8
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x288], ebp
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x274]
cmp ecx, ebp
jne 0x48eeb1
push 0x704
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x31
je 0x48ee1a
mov ecx, eax
call fcn.0045e650
jmp 0x48ee1c
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x274], eax
je 0x490aab
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebp
jne 0x48ee4f
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x274]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48ee7d
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48ee83
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.0045dc70
xor eax, eax
mov ax, word [0x856fa8]
xor ecx, ecx
mov cl, byte [0x856fac]
push eax
push ecx
mov ecx, dword [esi + 0x274]
push 0x21e75e8
call fcn.0045dda0
jmp 0x48c733
mov edx, dword [esi + 0x160]
push edx
call fcn.0045ddf0
cmp eax, ebp
je 0x48c733
cmp eax, 2
jne case.default.0x4908b8
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x274]
cmp ecx, ebp
je case.default.0x4908b8
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x274], ebp
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x278]
cmp ecx, ebp
jne 0x48efbc
mov ecx, dword [esi + 0x284]
cmp ecx, ebp
je 0x48ef17
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x284], ebp
push 0x5f4
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x32
je 0x48ef3d
mov ecx, eax
call fcn.00494f70
jmp 0x48ef3f
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x278], eax
je 0x490aab
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebp
jne 0x48ef72
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.00489290
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x278]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48efaa
mov edx, dword [eax + 4]
sub edx, edi
push ebp
push edx
call fcn.00494750
jmp 0x48c733
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.00494750
jmp 0x48c733
mov eax, dword [esi + 0x160]
push eax
call fcn.00494840
cmp eax, ebp
je 0x48c733
cmp eax, 2
jne case.default.0x4908b8
cmp dword [0x6f3558], 7
je 0x48efec
mov dword [0x852b5c], 0x12
mov ecx, dword [esi + 0x278]
cmp ecx, ebp
je case.default.0x4908b8
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x278], ebp
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x280]
cmp ecx, ebp
jne 0x48f03c
push 0x3598
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x33
je 0x48f0b1
push ebp
mov ecx, eax
call fcn.004612b0
jmp 0x48f0b3
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, 2
jne 0x48f145
mov ecx, dword [esi + 0x184]
cmp ecx, ebp
je 0x48f05a
mov eax, dword [ecx]
push ebp
call dword [eax + 0x14]
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x280]
cmp ecx, ebp
je case.default.0x4908b8
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x280], ebp
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x280]
cmp ecx, ebp
jne 0x48f106
push 0x3598
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x34
je 0x48f0b1
push 1
mov ecx, eax
call fcn.004612b0
jmp 0x48f0b3
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x280], eax
mov cl, byte [0x852b24]
xor edx, edx
mov dl, byte [0x851b21]
mov dword [esp + 0x3c], 0xffffffff
push ecx
xor ecx, ecx
mov cl, byte [0x851b20]
push edx
xor edx, edx
mov dl, byte [0x851b1f]
push ecx
mov ecx, eax
push edx
call fcn.00461280
mov ecx, dword [esi + 0x184]
cmp ecx, ebp
je 0x48c733
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
jmp 0x48c735
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, 2
jne 0x48f145
mov ecx, dword [esi + 0x184]
cmp ecx, ebp
je 0x48f120
mov eax, dword [ecx]
push ebp
call dword [eax + 0x14]
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x280]
cmp ecx, ebp
je case.default.0x4908b8
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x280], ebp
jmp case.default.0x4908b8
cmp eax, ebp
je 0x48c733
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x24c]
cmp ecx, ebp
jne 0x48f1c8
push 0x154
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x35
je 0x48f182
mov ecx, eax
call fcn.00518a30
jmp 0x48f184
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esi + 0x24c], eax
call fcn.00518e20
push 0x2774
call fcn.0041b230
mov ecx, dword [esi + 0x24c]
add esp, 4
push eax
push 0x6a9d2c
push ebp
call fcn.00518280
push eax
call fcn.0051d4a0
add esp, 0xc
jmp 0x48c735
call fcn.005184b0
mov edi, eax
cmp edi, ebp
je 0x48f217
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x24c]
cmp ecx, ebp
je 0x48f1ef
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x24c], ebp
cmp edi, 1
jne case.default.0x4908b8
xor ecx, ecx
mov cl, byte [0x856fa5]
xor edx, edx
mov dl, byte [0x856fa4]
push ecx
push edx
call fcn.00587ed0
add esp, 8
jmp case.default.0x4908b8
mov esi, dword [esi + 0x24c]
cmp esi, ebp
je 0x48b523
mov ecx, esi
call fcn.00518240
jmp 0x48b523
mov ecx, dword [esi + 0x2004]
cmp ecx, ebp
jne 0x48f27a
push 0x1970
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x36
je 0x48f261
mov ecx, eax
call fcn.00457f30
jmp 0x48f263
xor eax, eax
mov ecx, eax
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x2004], eax
call fcn.00458170
jmp 0x48f2f2
mov eax, dword [ecx]
call dword [eax + 4]
dec eax
jne case.default.0x4908b8
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x2004]
cmp ecx, ebp
je case.default.0x4908b8
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x2004], ebp
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x2008]
cmp ecx, ebp
jne 0x48f30e
push 0x1e74
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x37
je 0x48f2db
mov ecx, eax
call fcn.004ace70
jmp 0x48f2dd
xor eax, eax
mov ecx, eax
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x2008], eax
call fcn.004a8220
push 0x447a0000
push 0x21f1d38
push 0x20
push ebp
mov ecx, 0x21efa50
call fcn.0052a5b0
jmp 0x48c735
mov eax, dword [esi + 0x160]
push eax
call fcn.004acfc0
cmp eax, ebp
je 0x48c733
add eax, 0xfffffffe
cmp eax, 0xa
ja case.default.0x4908b8
movzx ecx, byte [eax + 0x490f0c]
jmp dword [ecx*4 + 0x490ef4]
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x2008]
cmp ecx, ebp
je case.default.0x4908b8
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x2008], ebp
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x2008]
call fcn.004a86a0
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x2008]
call fcn.004a86e0
jmp case.default.0x4908b8
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebp
jne 0x48f39e
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004e6360
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.00489290
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x2008]
call fcn.004aa850
mov esi, eax
cmp esi, ebp
je case.default.0x4908b8
cmp dword [esi + 0x12f], 1
jne case.default.0x4908b8
mov edx, dword [esi]
push edx
call fcn.0058bb60
mov eax, dword [esi]
add esp, 4
push eax
mov ecx, 0x84f768
call fcn.004c7870
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x200c]
cmp ecx, ebp
jne 0x48f43c
push 0xebc
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x38
je 0x48f420
mov ecx, eax
call fcn.004adc70
jmp 0x48f422
xor eax, eax
mov ecx, eax
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x200c], eax
call fcn.004ad670
jmp 0x48f2f2
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, ebp
je case.default.0x4908b8
sub eax, 2
je 0x48f457
dec eax
jne case.default.0x4908b8
jmp 0x48f487
mov ecx, dword [esi + 0x200c]
mov edx, dword [ecx + 0xeb4]
add edx, 0x20
push edx
call fcn.00696066
xor ecx, ecx
mov cl, byte [0x856fa5]
xor edx, edx
mov dl, byte [0x856fa4]
push ecx
push edx
push eax
call fcn.0058b9c0
add esp, 0x10
mov dword [0x852b5c], ebp
mov ecx, dword [esi + 0x200c]
cmp ecx, ebp
je case.default.0x4908b8
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x200c], ebp
jmp case.default.0x4908b8
mov edi, dword [esi + 0x2b0]
cmp edi, ebp
je 0x48f4cc
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2b0], ebp
push 0xa40
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, ebp
mov dword [esp + 0x3c], 0x39
je 0x48f518
push 0x1be6
call fcn.0041b230
add esp, 4
push eax
push ebp
push 0xff
push 0xff
push 1
mov ecx, edi
call fcn.004bc830
mov dword [esi + 0x2b0], eax
jmp case.default.0x4908b8
xor eax, eax
mov dword [esi + 0x2b0], eax
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x184]
cmp ecx, ebp
je 0x48f53d
cmp dword [esi + 0x280], ebp
je 0x48f53d
mov edx, dword [ecx]
push ebp
call dword [edx + 0x14]
mov ecx, esi
call fcn.004207b0
cmp dword [0x21e7ca8], ebp
jbe 0x48c733
mov dword [0x21e7ca8], ebp
jmp 0x48c735
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
mov eax, dword [esi + 0x188]
push eax
mov ecx, esi
call fcn.00489290
jmp case.default.0x4908b8
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x20], ebp
je 0x48f630
mov dl, byte [eax + 0x49]
cmp dl, 0xff
je 0x48f630
mov eax, dword [eax + 4]
mov ecx, dword [0x706454]
cmp ecx, eax
mov ebx, dword [esp + 0x18]
jl 0x48f5c2
mov edi, dword [ebx + 0xc]
add edi, eax
cmp ecx, edi
jg 0x48f5be
mov eax, dword [ebx + 8]
mov ecx, dword [0x706458]
cmp ecx, eax
jl 0x48f5be
mov edi, dword [ebx + 0x10]
add edi, eax
cmp ecx, edi
jle 0x48f616
mov edi, dword [esp + 0x1c]
xor ecx, ecx
mov cl, byte [ebx + 0x48]
push ebp
push edx
push ecx
mov ecx, edi
call fcn.004d44a0
test eax, eax
je 0x48f5d9
mov byte [ebx + 0x49], 0xff
mov ecx, dword [esp + 0x24]
xor edx, edx
mov dl, byte [ebx + 0x49]
xor eax, eax
mov al, byte [ebx + 0x48]
push ebp
push edx
push eax
call fcn.004daa40
test eax, eax
jne 0x48f60d
xor ecx, ecx
mov cl, byte [ebx + 0x49]
xor edx, edx
mov dl, byte [ebx + 0x48]
push ebp
push ecx
mov ecx, dword [esp + 0x28]
push edx
call fcn.004d3b30
test eax, eax
je 0x48f616
mov byte [ebx + 0x49], 0xff
jmp case.default.0x4908b8
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov ecx, dword [esi + 0x18c]
push ecx
mov ecx, esi
call fcn.00489290
jmp case.default.0x4908b8
mov ebx, dword [esp + 0x24]
cmp dword [ebx + 0x20], ebp
je 0x48f6d9
mov dl, byte [ebx + 0x78]
cmp dl, 0xff
je 0x48f6d9
cmp dword [ebx + 0x13c], ebp
je 0x48f6d9
mov eax, dword [ebx + 4]
mov ecx, dword [0x706454]
cmp ecx, eax
jl 0x48f681
mov ebp, dword [ebx + 0xc]
add ebp, eax
cmp ecx, ebp
jg 0x48f681
mov eax, dword [ebx + 8]
mov ecx, dword [0x706458]
cmp ecx, eax
jl 0x48f681
mov ebp, dword [ebx + 0x10]
add ebp, eax
cmp ecx, ebp
jle 0x48f6bf
push 1
push edx
xor edx, edx
mov dl, byte [ebx + 0x134]
mov ecx, edi
push edx
call fcn.004d44a0
test eax, eax
jne 0x48f6b6
xor eax, eax
mov al, byte [ebx + 0x78]
xor ecx, ecx
mov cl, byte [ebx + 0x134]
push 1
push eax
push ecx
mov ecx, dword [esp + 0x24]
call fcn.004d44a0
test eax, eax
je 0x48f6bf
mov byte [ebx + 0x78], 0xff
jmp case.default.0x4908b8
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 4]
mov eax, dword [esi + 0x190]
push eax
mov ecx, esi
call fcn.00489290
jmp case.default.0x4908b8
mov edi, dword [esp + 0x20]
cmp dword [edi + 0x20], ebp
je 0x48f76d
mov dl, byte [edi + 0xe8]
cmp dl, 0xff
je 0x48f76d
mov eax, dword [edi + 4]
mov ecx, dword [0x706454]
cmp ecx, eax
jl 0x48f71d
mov ebx, dword [edi + 0xc]
add ebx, eax
cmp ecx, ebx
jg 0x48f71d
mov eax, dword [edi + 8]
mov ecx, dword [0x706458]
cmp ecx, eax
jl 0x48f71d
mov ebx, dword [edi + 0x10]
add ebx, eax
cmp ecx, ebx
jle 0x48f753
mov ecx, dword [esp + 0x1c]
push 2
push edx
push ebp
call fcn.004d44a0
test eax, eax
jne 0x48f747
xor ecx, ecx
mov cl, byte [edi + 0xe8]
push 2
push ecx
mov ecx, dword [esp + 0x20]
push ebp
call fcn.004d44a0
test eax, eax
je 0x48f753
mov byte [edi + 0xe8], 0xff
jmp case.default.0x4908b8
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
mov eax, dword [esi + 0x194]
push eax
mov ecx, esi
call fcn.00489290
jmp case.default.0x4908b8
mov edi, dword [esp + 0x14]
cmp dword [edi + 0x20], ebp
je 0x48f8ab
mov dl, byte [edi + 0xdc]
cmp dl, 0xff
je 0x48f8ab
mov eax, dword [edi + 4]
mov ecx, dword [0x706454]
cmp ecx, eax
jl 0x48f7bd
mov ebx, dword [edi + 0xc]
add ebx, eax
cmp ecx, ebx
jg 0x48f7b9
mov eax, dword [edi + 8]
mov ecx, dword [0x706458]
cmp ecx, eax
jl 0x48f7b9
mov ebx, dword [edi + 0x10]
add ebx, eax
cmp ecx, ebx
jle 0x48f891
mov ebx, dword [esp + 0x24]
cmp dword [edi + 0xd8], ebp
push edx
je 0x48f814
mov ecx, dword [esp + 0x20]
push ebp
call fcn.004d4760
test eax, eax
jne 0x48f885
xor ecx, ecx
mov cl, byte [edi + 0xdc]
push ecx
mov ecx, dword [esp + 0x1c]
push ebp
call fcn.004d4760
test eax, eax
jne 0x48f885
xor edx, edx
mov dl, byte [edi + 0xdc]
mov ecx, ebx
push edx
push ebp
call fcn.004dac40
test eax, eax
jne 0x48f885
xor eax, eax
mov al, byte [edi + 0xdc]
push eax
push ebp
jmp 0x48f878
xor ecx, ecx
mov cl, byte [edi + 0xdd]
push ecx
mov ecx, dword [esp + 0x24]
call fcn.004d4760
test eax, eax
jne 0x48f885
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dl, byte [edi + 0xdc]
xor eax, eax
mov al, byte [edi + 0xdd]
push edx
push eax
call fcn.004d4760
test eax, eax
jne 0x48f885
xor ecx, ecx
mov cl, byte [edi + 0xdc]
xor edx, edx
mov dl, byte [edi + 0xdd]
push ecx
mov ecx, ebx
push edx
call fcn.004dac40
test eax, eax
jne 0x48f885
xor eax, eax
mov al, byte [edi + 0xdc]
xor ecx, ecx
mov cl, byte [edi + 0xdd]
push eax
push ecx
mov ecx, dword [esp + 0x28]
call fcn.004d3cb0
test eax, eax
je 0x48f891
mov byte [edi + 0xdc], 0xff
jmp case.default.0x4908b8
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
mov eax, dword [esi + 0x160]
push eax
mov ecx, esi
call fcn.00489290
jmp case.default.0x4908b8
mov edi, dword [esp + 0x28]
cmp dword [edi + 0x20], ebp
je 0x48f981
mov dl, byte [edi + 0xe3]
cmp dl, 0xff
je 0x48f981
mov eax, dword [edi + 4]
mov ecx, dword [0x706454]
cmp ecx, eax
jl 0x48f8f7
mov ebx, dword [edi + 0xc]
add ebx, eax
cmp ecx, ebx
jg 0x48f8f3
mov eax, dword [edi + 8]
mov ecx, dword [0x706458]
cmp ecx, eax
jl 0x48f8f3
mov ebx, dword [edi + 0x10]
add ebx, eax
cmp ecx, ebx
jle 0x48f941
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
push edx
push 0x64
call fcn.004d4760
test eax, eax
jne 0x48f935
xor ecx, ecx
mov cl, byte [edi + 0xe3]
push ecx
mov ecx, dword [esp + 0x1c]
push 0x64
call fcn.004d4760
test eax, eax
jne 0x48f935
xor edx, edx
mov dl, byte [edi + 0xe3]
mov ecx, ebx
push edx
push 0x64
call fcn.004dac40
test eax, eax
je 0x48f941
mov byte [edi + 0xe3], 0xff
jmp case.default.0x4908b8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [esi + 0x164]
push ecx
mov ecx, esi
call fcn.00489290
mov edi, dword [esi + 0x168]
cmp edi, ebp
je 0x490aab
cmp dword [edi + 0x20], ebp
je case.default.0x4908b8
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
push edi
mov ecx, esi
call fcn.00489290
jmp case.default.0x4908b8
mov edi, dword [esp + 0x2c]
cmp dword [edi + 0x20], ebp
je 0x48fa2d
mov dl, byte [edi + 0xd8]
cmp dl, 0xff
je 0x48fa2d
mov eax, dword [edi + 4]
mov ecx, dword [0x706454]
cmp ecx, eax
jl 0x48f9c9
mov ebp, dword [edi + 0xc]
add ebp, eax
cmp ecx, ebp
jg 0x48f9c9
mov eax, dword [edi + 8]
mov ecx, dword [0x706458]
cmp ecx, eax
jl 0x48f9c9
mov ebp, dword [edi + 0x10]
add ebp, eax
cmp ecx, ebp
jle 0x48fa13
mov ecx, dword [esp + 0x1c]
push edx
push 0x65
call fcn.004d4760
test eax, eax
jne 0x48fa07
mov ecx, dword [esp + 0x18]
xor eax, eax
mov al, byte [edi + 0xd8]
push eax
push 0x65
call fcn.004d4760
test eax, eax
jne 0x48fa07
xor ecx, ecx
mov cl, byte [edi + 0xd8]
push ecx
push 0x65
mov ecx, ebx
call fcn.004dac40
test eax, eax
je 0x48fa13
mov byte [edi + 0xd8], 0xff
jmp case.default.0x4908b8
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
mov eax, dword [esi + 0x16c]
push eax
mov ecx, esi
call fcn.00489290
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x2a0]
cmp ecx, ebp
je 0x49037e
call fcn.0047b840
mov ebp, eax
xor ebx, ebx
cmp ebp, ebx
jl 0x490366
cmp ebp, 0x64
jg 0x48fca7
je 0x48fbf5
cmp ebp, 9
ja case.0x49020a.6511
jmp dword [ebp*4 + 0x490f18]
mov ecx, dword [esi + 0x2a0]
mov edx, dword [ecx + 0x18]
push edx
call fcn.00588700
mov eax, dword [esi + 0x2a0]
mov eax, dword [eax + 0x18]
add esp, 4
push eax
mov ecx, 0x7072a0
call fcn.00446510
cmp eax, ebx
je 0x490336
mov cl, byte [eax + 0x276]
cmp cl, byte [0x21e6a42]
jne 0x490336
add eax, 0xf0
push eax
push 0x704b80
call fcn.0041b140
push 0xcb
push 7
call fcn.0041d9a0
add esp, 0x10
jmp 0x490336
mov edx, dword [esi + 0x2a0]
mov eax, dword [edx + 0x18]
push eax
call fcn.005887a0
mov ecx, dword [esi + 0x2a0]
mov eax, dword [ecx + 0x18]
add esp, 4
push eax
mov ecx, 0x7072a0
call fcn.00446510
cmp eax, ebx
je 0x490336
mov dl, byte [eax + 0x276]
cmp dl, byte [0x21e6a42]
jne 0x490336
add eax, 0xf0
push eax
push 0x704b80
call fcn.0041b140
push 0x12d
push 7
call fcn.0041d9a0
add esp, 0x10
jmp 0x490336
mov eax, dword [esi + 0x2a0]
mov ecx, dword [eax + 0x18]
push ecx
call fcn.005887d0
mov edx, dword [esi + 0x2a0]
mov eax, dword [edx + 0x18]
add esp, 4
push eax
mov ecx, 0x7072a0
call fcn.00446510
cmp eax, ebx
je 0x490336
mov cl, byte [eax + 0x276]
cmp cl, byte [0x21e6a42]
jne 0x490336
add eax, 0xf0
push eax
push 0x704b80
call fcn.0041b140
push 0x12e
push 7
call fcn.0041d9a0
add esp, 0x10
jmp 0x490336
call fcn.00588770
push 0x166
push 7
call fcn.0041d9a0
add esp, 8
jmp 0x490336
mov edx, dword [esi + 0x2a0]
mov eax, dword [edx + 0x18]
push eax
mov ecx, 0x7072a0
call fcn.00446510
cmp eax, ebx
je 0x490336
mov al, byte [eax + 0x276]
cmp al, byte [0x21e6a42]
jne 0x490336
mov ecx, dword [esi + 0x2a0]
mov edx, dword [ecx + 0x18]
push edx
call fcn.0058b130
add esp, 4
jmp 0x490336
mov ebp, dword [esi + 0x184]
xor edi, edi
lea ecx, [ecx]
mov ecx, dword [0x21e6938]
cmp ecx, ebx
jne 0x48fc0e
xor eax, eax
jmp 0x48fc18
mov eax, dword [0x21e693c]
sub eax, ecx
sar eax, 2
cmp edi, eax
jge 0x48fc52
push edi
mov ecx, 0x21e6930
call fcn.0043a010
cmp eax, ebx
je 0x48fc4f
mov ecx, dword [esi + 0x2a0]
mov edx, dword [eax]
cmp edx, dword [ecx + 0x18]
jne 0x48fc4f
add eax, 4
mov ecx, ebp
sub ecx, eax
lea edx, [ecx + 0x18c]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x48fc45
inc edi
jmp 0x48fc00
mov edx, dword [esi + 0x2a0]
mov eax, dword [edx + 0x18]
push eax
mov ecx, 0x7072a0
call fcn.00446510
cmp eax, ebx
je 0x48fc91
mov cl, byte [eax + 0x276]
cmp cl, byte [0x21e6a42]
jne 0x48fc91
add eax, 0xf0
mov edx, ebp
sub edx, eax
add edx, 0x18c
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x48fc87
mov ecx, ebp
mov dword [ebp + 0x188], 1
call fcn.0046b6a0
jmp 0x490336
cmp ebp, 0x1967
jg 0x4901fb
je 0x49011c
cmp ebp, 0x152d
jg 0x48ff0d
je case.0x48fa64.9
cmp ebp, 0x13e3
jg 0x48fd9b
je case.0x48fa64.5
mov eax, ebp
sub eax, 0x1390
je case.0x48fa64.6
sub eax, 0x52
jne case.0x49020a.6511
cmp dword [0x852b5c], ebx
jne case.0x49020a.6511
mov eax, dword [esi + 0x2a0]
mov ecx, dword [eax + 0x18]
push ecx
call fcn.0058af40
add esp, 4
jmp case.0x49020a.6511
mov edx, dword [esi + 0x2a0]
mov eax, dword [edx + 0x18]
push eax
mov ecx, 0x7072a0
call fcn.00446510
test eax, eax
je case.0x49020a.6511
mov eax, dword [esi + 0x2a0]
mov ecx, dword [eax + 0x18]
push ecx
call fcn.0058b0a0
add esp, 4
jmp case.0x49020a.6511
mov edx, dword [esi + 0x2a0]
mov eax, dword [edx + 0x18]
push eax
call fcn.00588860
mov ecx, dword [esi + 0x2a0]
mov eax, dword [ecx + 0x18]
add esp, 4
push eax
mov ecx, 0x7072a0
call fcn.00446510
cmp eax, ebx
je case.0x49020a.6511
mov dl, byte [eax + 0x276]
cmp dl, byte [0x21e6a42]
jne case.0x49020a.6511
add eax, 0xf0
push eax
push 0x704b80
call fcn.0041b140
push 0xd1
jmp 0x490320
cmp ebp, 0x14f6
jne case.0x49020a.6511
mov eax, dword [esi + 0x2a0]
mov eax, dword [eax + 0x18]
push eax
mov ecx, 0x7072a0
call fcn.00446510
cmp eax, ebx
je case.0x49020a.6511
mov cl, byte [eax + 0x276]
cmp cl, byte [0x21e6a42]
jne case.0x49020a.6511
mov eax, dword [0x84716c]
cmp eax, ebx
je case.0x49020a.6511
mov edx, dword [eax + 0x160]
push edx
mov ecx, 0x7072a0
call fcn.00446510
cmp eax, ebx
je case.0x49020a.6511
add eax, 0x10
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov ecx, dword [0x84716c]
add ecx, 0x10
mov eax, dword [ecx]
sub esp, 0xc
mov edx, esp
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov ecx, 0x7072a0
call fcn.00436bc0
test eax, eax
je case.0x49020a.6511
mov edx, dword [esi + 0x2a0]
mov eax, dword [edx + 0x18]
push eax
call fcn.0058b040
add esp, 4
jmp case.0x49020a.6511
mov ecx, dword [esi + 0x214]
cmp ecx, ebx
je 0x48fe70
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x214], ebx
mov eax, dword [0x84716c]
mov ecx, dword [eax + 0x160]
push ecx
mov ecx, 0x7072a0
call fcn.00446510
mov edi, eax
cmp edi, ebx
je case.0x49020a.6511
mov eax, dword [0x8507f4]
mov edx, dword [edi + 0x34]
push eax
mov ecx, 0x7072a0
mov dword [0x21e7084], edx
call fcn.00446510
cmp eax, ebx
je case.0x49020a.6511
fld dword [edi + 0x10]
fsub dword [eax + 0x10]
fld dword [edi + 0x14]
fsub dword [eax + 0x14]
fld dword [edi + 0x18]
fsub dword [eax + 0x18]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp st(3)
fstp st(0)
fstp st(0)
fcomp dword [0x6a8690]
fnstsw ax
test ah, 0x41
jne 0x48fefc
push 0xe9
push 0x11
call fcn.0041d9a0
add esp, 8
jmp case.0x49020a.6511
mov ecx, dword [edi + 0x34]
push ecx
call fcn.0058a660
add esp, 4
jmp case.0x49020a.6511
mov eax, ebp
sub eax, 0x1964
je 0x48ff34
dec eax
je 0x48ff2a
dec eax
jne case.0x49020a.6511
call fcn.00587a90
jmp 0x490336
call fcn.00587a50
jmp 0x490336
xor edx, edx
mov dword [esp + 0x28], edx
lea ebx, [ebx]
mov ecx, dword [0x21e6938]
cmp ecx, ebx
jne 0x48ff4e
xor eax, eax
jmp 0x48ff58
mov eax, dword [0x21e693c]
sub eax, ecx
sar eax, 2
cmp edx, eax
jge 0x49009a
push edx
mov ecx, 0x21e6930
call fcn.0043a010
mov ebp, eax
xor edi, edi
cmp ebp, edi
je 0x490aab
push 0x50
call fcn.005b8072
add esp, 4
cmp eax, edi
je 0x48ff9a
mov dword [eax + 0x38], 0x6aa198
mov dword [eax + 0x40], edi
mov dword [eax + 0x44], edi
mov dword [eax + 0x48], edi
mov dword [eax + 0x4c], edi
mov edi, eax
mov edx, dword [ebp]
lea eax, [ebp + 4]
mov ecx, edi
sub ecx, eax
mov dword [edi], edx
mov dword [esp + 0x3c], 0xffffffff
lea edx, [ecx + 4]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x48ffb1
mov dx, word [ebp + 0x1a]
mov word [edi + 0x1a], dx
mov al, byte [ebp + 0x1c]
mov byte [edi + 0x1c], al
mov cx, word [ebp + 0x1e]
mov word [edi + 0x1e], cx
mov dx, word [ebp + 0x20]
mov word [edi + 0x20], dx
mov ax, word [ebp + 0x22]
mov word [edi + 0x22], ax
mov cx, word [ebp + 0x24]
mov word [edi + 0x24], cx
mov dx, word [ebp + 0x26]
mov word [edi + 0x26], dx
mov ax, word [ebp + 0x28]
mov word [edi + 0x28], ax
mov cx, word [ebp + 0x2a]
mov word [edi + 0x2a], cx
mov edx, dword [ebp + 0x2c]
mov dword [edi + 0x2c], edx
mov eax, dword [ebp + 0x30]
mov dword [edi + 0x30], eax
mov ecx, dword [ebp + 0x34]
mov dword [edi + 0x34], ecx
lea ebx, [ebp + 0x38]
mov ecx, ebx
mov dword [esp + 0x2c], 0
call fcn.0048a7f0
test eax, eax
jle 0x49007c
lea esp, [esp]
mov edx, dword [esp + 0x2c]
push edx
mov ecx, ebx
call fcn.0043a010
mov ebp, eax
test ebp, ebp
je 0x490068
push 8
call fcn.005b8072
mov cx, word [ebp]
mov word [eax], cx
mov dl, byte [ebp + 2]
mov byte [eax + 2], dl
mov ecx, dword [ebp + 4]
add esp, 4
mov dword [eax + 4], ecx
push eax
lea ecx, [edi + 0x38]
call fcn.0048b3e0
mov ebp, dword [esp + 0x2c]
inc ebp
mov ecx, ebx
mov dword [esp + 0x2c], ebp
call fcn.0048a7f0
cmp ebp, eax
jl 0x490030
push edi
mov edi, dword [esp + 0x2c]
push edi
mov ecx, 0x21e6948
call fcn.0048b3b0
inc edi
mov dword [esp + 0x28], edi
mov edx, edi
xor ebx, ebx
jmp 0x48ff40
xor eax, eax
lea esp, [esp]
mov edx, dword [esi + 0x290]
mov byte [eax + edx + 0xf77], 0
add eax, 0x4d4
cmp eax, 0x1824
jl 0x4900a0
mov eax, dword [esi + 0x290]
mov byte [eax + 0x1df3], 0
mov ecx, dword [esi + 0x290]
mov byte [ecx + 0x22c7], 1
mov ecx, dword [esi + 0x298]
call fcn.00504190
fmul dword [0x6a8658]
mov ecx, dword [esi + 0x290]
add ecx, 0x2bcc
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
push edx
call fcn.0051a620
mov dword [0x21e6a2c], 1
mov eax, dword [esi + 0x290]
push eax
mov ecx, esi
call fcn.00489290
jmp 0x490336
xor eax, eax
mov edi, edi
mov ecx, dword [esi + 0x290]
mov byte [eax + ecx + 0xf77], 0
add eax, 0x4d4
cmp eax, 0x1824
jl 0x490120
mov eax, dword [0x21e696c]
dec eax
je 0x490168
dec eax
je 0x490159
sub eax, 2
jne 0x490175
mov edx, dword [esi + 0x290]
mov byte [edx + 0x191f], 1
jmp 0x490175
mov eax, dword [esi + 0x290]
mov byte [eax + 0x144b], 1
jmp 0x490175
mov ecx, dword [esi + 0x290]
mov byte [ecx + 0xf77], 1
mov al, byte [0x21e6970]
test al, al
je 0x49018b
mov edx, dword [esi + 0x290]
mov byte [edx + 0x1df3], 1
cmp dword [0x21e6a30], ebx
je 0x4901a0
mov eax, dword [esi + 0x290]
mov byte [eax + 0x22c7], 1
mov ecx, dword [esi + 0x298]
call fcn.00504190
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
push ecx
mov ecx, dword [esi + 0x298]
call fcn.005041a0
fld dword [esp + 0x2c]
fmul dword [0x6a8658]
push ecx
mov ecx, dword [esi + 0x290]
add ecx, 0x2bcc
fstp dword [esp]
call fcn.0051a620
mov dword [0x21e6a2c], 1
mov edx, dword [esi + 0x290]
push edx
mov ecx, esi
call fcn.00489290
jmp 0x490336
lea eax, [ebp - 0x1968]
cmp eax, 9
ja case.0x49020a.6511
jmp dword [eax*4 + 0x490f40]
mov dword [0x21e6a34], 1
jmp case.0x49020a.6511
mov dword [0x21e6a34], ebx
jmp case.0x49020a.6511
mov eax, dword [0x21e6974]
mov dword [0x21e6978], eax
jmp case.0x49020a.6511
mov ecx, dword [0x21e6974]
push ecx
mov ecx, 0x21e6948
call fcn.0041fad0
cmp eax, ebx
je case.0x49020a.6511
mov edx, dword [eax]
push edx
call fcn.00587b20
add esp, 4
jmp case.0x49020a.6511
mov eax, dword [0x21e6974]
push eax
mov ecx, 0x21e6948
call fcn.0041fad0
cmp eax, ebx
je case.0x49020a.6511
mov ecx, dword [eax]
push ecx
call fcn.00587b70
add esp, 4
jmp case.0x49020a.6511
mov edx, dword [0x21e6974]
push edx
mov ecx, 0x21e6948
call fcn.0041fad0
cmp eax, ebx
je case.0x49020a.6511
mov eax, dword [eax]
push eax
call fcn.00587bc0
add esp, 4
jmp case.0x49020a.6511
mov ecx, dword [0x21e6974]
push ecx
mov ecx, 0x21e6948
call fcn.0041fad0
mov ecx, dword [esi + 0x184]
add eax, 4
push eax
call fcn.0046d740
jmp case.0x49020a.6511
mov edx, dword [esi + 0x2a0]
mov eax, dword [edx + 0x18]
push eax
call fcn.00587c10
mov ecx, dword [esi + 0x2a0]
mov eax, dword [ecx + 0x18]
add esp, 4
push eax
mov ecx, 0x7072a0
call fcn.00446510
cmp eax, ebx
je case.0x49020a.6511
mov dl, byte [eax + 0x276]
cmp dl, byte [0x21e6a42]
jne case.0x49020a.6511
add eax, 0xf0
push eax
push 0x704b80
call fcn.0041b140
push 0xcb
push 7
call fcn.0041d9a0
add esp, 0x10
cmp ebp, 0x3e8
je case.default.0x4908b8
mov byte [0x21e68d1], 0
mov edi, dword [esi + 0x2a0]
cmp edi, ebx
je case.default.0x4908b8
mov ecx, edi
call fcn.0047afe0
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a0], ebx
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x2a0]
cmp ecx, ebx
je 0x490380
call fcn.0047ac70
test al, al
je 0x490380
jmp case.default.0x4908b8
xor ebx, ebx
cmp byte [0x21e68d1], 1
jne 0x49046c
mov edi, dword [esi + 0x2a0]
cmp edi, ebx
je 0x4903ad
mov ecx, edi
call fcn.0047afe0
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a0], ebx
push 0x68
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x3b
je 0x4903d0
mov ecx, eax
call fcn.0047afc0
jmp 0x4903d2
xor eax, eax
mov dword [esi + 0x2a0], eax
mov cl, byte [0x21e6a28]
test cl, cl
mov dword [esp + 0x3c], 0xffffffff
je 0x490417
mov ecx, dword [0x856f98]
mov edx, dword [0x21e6a34]
push ecx
mov ecx, dword [0x706458]
push edx
mov edx, dword [0x706454]
add ecx, 0xfffffff6
push ecx
add edx, 0xfffffff6
push edx
push 3
mov ecx, eax
call fcn.0047bac0
jmp 0x49043a
mov ecx, dword [0x706458]
mov edx, dword [0x706454]
push ebx
add ecx, 0xfffffff6
push ecx
mov ecx, dword [0x856f98]
add edx, 0xfffffff6
push edx
push ecx
mov ecx, eax
call fcn.0047b0f0
test eax, eax
jne 0x490465
mov byte [0x21e68d1], al
mov edi, dword [esi + 0x2a0]
cmp edi, ebx
je 0x49046c
mov ecx, edi
call fcn.0047afe0
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a0], ebx
jmp 0x49046c
mov byte [0x21e68d1], 2
mov ecx, dword [esi + 0x2000]
cmp ecx, ebx
je 0x49049a
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, ebx
je 0x49049a
cmp eax, 2
jne case.default.0x4908b8
mov eax, dword [esi + 0x2000]
mov byte [eax + 0x50c], 0
jmp case.default.0x4908b8
xor ebp, ebp
lea eax, [esi + 0x1a4]
mov dword [esp + 0x24], ebp
mov ebx, eax
jmp 0x4904b0
mov ecx, dword [ebx]
test ecx, ecx
je 0x4905a3
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x2c], ecx
je 0x4905a3
mov eax, dword [ebx]
cmp eax, dword [esi + 0x160]
je 0x490652
cmp eax, dword [esi + 0x17c]
jne 0x4906fa
cmp ecx, 2
jne 0x4906fa
mov edi, dword [esi + 0x2a0]
test edi, edi
je 0x490514
mov ecx, edi
call fcn.0047afe0
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a0], 0
push 0x68
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov dword [esp + 0x3c], 0x3c
je 0x490537
mov ecx, eax
call fcn.0047afc0
jmp 0x490539
xor eax, eax
mov dword [esi + 0x2a0], eax
mov ecx, dword [0x21e6a34]
mov edx, dword [0x706458]
push 0
push ecx
mov ecx, dword [0x706454]
add edx, 0xfffffff6
push edx
add ecx, 0xfffffff6
push ecx
push 1
mov ecx, eax
mov dword [esp + 0x50], 0xffffffff
call fcn.0047bac0
test eax, eax
jne 0x49059c
mov byte [0x21e68d1], al
mov edi, dword [esi + 0x2a0]
test edi, edi
je 0x4905a3
mov ecx, edi
call fcn.0047afe0
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a0], 0
jmp 0x4905a3
mov byte [0x21e68d1], 2
inc ebp
add ebx, 4
cmp ebp, 0x15
jl 0x4904b0
mov eax, dword [0x21e6a34]
test eax, eax
mov dword [esp + 0x24], ebp
je 0x4905d0
mov ecx, dword [esi + 0x294]
call fcn.00503ef0
test al, al
jne 0x48b523
mov eax, dword [0x21e6a2c]
xor ebx, ebx
cmp eax, ebx
je 0x4905ee
mov ecx, dword [esi + 0x290]
call fcn.00504230
test al, al
jne 0x48b523
cmp dword [0x21e6a30], ebx
je 0x490609
mov ecx, dword [esi + 0x298]
call fcn.00504130
test al, al
jne 0x48b523
mov ecx, dword [esi + 0x28c]
cmp ecx, ebx
jne 0x490b7e
push 0x10c
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x40
je 0x490b69
mov ecx, eax
call fcn.004fd390
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x28c], eax
jmp 0x490c6f
mov eax, dword [esi + ebp*4 + 0x1a4]
mov ecx, dword [eax + 4]
mov edx, dword [0x706454]
lea edi, [ecx - 0x19]
cmp edx, edi
mov dword [esp + 0x24], ebp
jl case.default.0x4908b8
cmp edx, ecx
jg case.default.0x4908b8
mov eax, dword [eax + 8]
mov ecx, dword [0x706458]
cmp ecx, eax
jl case.default.0x4908b8
add eax, 0x200
cmp ecx, eax
jg case.default.0x4908b8
test ebp, ebp
jne case.default.0x4908b8
mov edx, dword [esi + 0x1a4]
mov ebx, dword [edx + 0x24]
lea edi, [esi + 0x1a4]
or ecx, 0xffffffff
xor eax, eax
mov ebp, dword [edi]
cmp ebx, dword [ebp + 0x24]
jle 0x4906bc
mov ecx, eax
inc eax
add edi, 4
cmp eax, 0x15
jl 0x4906b3
cmp ecx, 0xffffffff
je case.default.0x4908b8
mov eax, dword [esi + ecx*4 + 0x1a4]
mov ebx, dword [eax + 0x24]
mov edi, dword [edx + 0x24]
mov dword [edx + 0x24], ebx
mov dword [esi + 0x1a4], eax
mov eax, dword [esi + ecx*4 + 0x1a4]
mov dword [eax + 0x24], edi
mov dword [esi + ecx*4 + 0x1a4], edx
jmp case.default.0x4908b8
mov ebx, dword [esi + ebp*4 + 0x1a4]
mov edi, dword [ebx + 0x24]
or ecx, 0xffffffff
mov dword [esp + 0x24], ebp
xor eax, eax
lea edx, [esi + 0x1a4]
mov ebp, dword [edx]
cmp edi, dword [ebp + 0x24]
jle 0x49071c
mov ecx, eax
inc eax
add edx, 4
cmp eax, 0x15
jl 0x490713
cmp ecx, 0xffffffff
je 0x490756
mov eax, dword [esi + ecx*4 + 0x1a4]
mov edi, dword [eax + 0x24]
mov edx, dword [ebx + 0x24]
mov dword [ebx + 0x24], edi
mov edi, dword [esp + 0x24]
mov dword [esi + edi*4 + 0x1a4], eax
mov eax, dword [esi + ecx*4 + 0x1a4]
mov dword [eax + 0x24], edx
mov dword [esi + ecx*4 + 0x1a4], ebx
cmp ebx, dword [esi + 0x298]
jne 0x49089a
mov eax, dword [esp + 0x2c]
sub eax, 2
je 0x4907ca
dec eax
jne 0x49089a
mov edi, dword [0x21e6978]
push edi
mov ecx, 0x21e6948
call fcn.0041fad0
mov ecx, dword [0x21e6974]
push ecx
mov ecx, 0x21e6948
mov ebp, eax
call fcn.0041fad0
cmp dword [0x21e6974], edi
je 0x4907bb
test ebp, ebp
jne 0x4907a6
test eax, eax
je 0x4907bb
mov edx, dword [0x21e6974]
push edx
push edi
call fcn.00587ad0
add esp, 8
jmp 0x49089a
mov dword [0x21e6978], 0xffffffff
jmp 0x49089a
mov edi, dword [esi + 0x2a0]
xor ebp, ebp
cmp edi, ebp
je 0x4907ec
mov ecx, edi
call fcn.0047afe0
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a0], ebp
push 0x68
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebp
mov dword [esp + 0x3c], 0x3d
je 0x490811
mov ecx, eax
call fcn.0047afc0
mov edi, eax
jmp 0x490813
xor edi, edi
mov dword [esi + 0x2a0], edi
mov eax, dword [0x21e6974]
push eax
mov ecx, 0x21e6948
mov dword [esp + 0x40], 0xffffffff
call fcn.0041fad0
xor ecx, ecx
cmp eax, ebp
je 0x49083b
mov ecx, dword [eax]
jmp 0x490844
cmp dword [0x21e695c], 2
je 0x49089a
mov edx, dword [0x706458]
mov eax, dword [0x706454]
push ecx
mov ecx, dword [0x21e6a34]
push ecx
add edx, 0xfffffff6
push edx
add eax, 0xfffffff6
push eax
push 2
mov ecx, edi
call fcn.0047bac0
test eax, eax
jne 0x490893
mov byte [0x21e68d1], al
mov edi, dword [esi + 0x2a0]
cmp edi, ebp
je 0x49089a
mov ecx, edi
call fcn.0047afe0
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a0], ebp
jmp 0x49089a
mov byte [0x21e68d1], 2
mov edi, dword [esi + 0x290]
cmp ebx, edi
jne case.default.0x4908b8
mov eax, dword [esp + 0x2c]
add eax, 0xfffffffe
cmp eax, 4
ja case.default.0x4908b8
jmp dword [eax*4 + 0x490f68]
mov edi, dword [esi + 0x2a0]
xor ebx, ebx
cmp edi, ebx
je 0x4908e1
mov ecx, edi
call fcn.0047afe0
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a0], ebx
push 0x68
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x3e
je 0x490906
mov ecx, eax
call fcn.0047afc0
mov edi, eax
jmp 0x490908
xor edi, edi
mov dword [esi + 0x2a0], edi
mov ecx, dword [0x21e6974]
push ecx
mov ecx, 0x21e6948
mov dword [esp + 0x40], 0xffffffff
call fcn.0041fad0
xor ecx, ecx
cmp eax, ebx
je 0x49092f
mov ecx, dword [eax]
mov edx, dword [0x21e6a34]
mov eax, dword [0x706458]
push ecx
mov ecx, dword [0x706454]
push edx
add eax, 0xfffffff6
push eax
add ecx, 0xfffffff6
push ecx
push 2
mov ecx, edi
call fcn.0047bac0
jmp 0x490c0f
mov ecx, dword [0x21e6974]
mov eax, dword [0x21e6978]
cmp ecx, eax
jne 0x490976
mov dword [0x21e6978], 0xffffffff
jmp case.default.0x4908b8
push ecx
push eax
call fcn.00587ad0
add esp, 8
jmp case.default.0x4908b8
mov dl, byte [0x21e6a28]
test dl, dl
je 0x49099c
mov eax, dword [0x21e695c]
test eax, eax
jne 0x490ace
xor eax, eax
lea ecx, [edi + 0xf77]
cmp byte [ecx], 1
je 0x490a3e
inc eax
add ecx, 0x4d4
cmp eax, 3
jl 0x4909a4
mov edi, dword [esi + 0x2ac]
test edi, edi
je 0x4909dd
mov ecx, edi
call fcn.004bcf70
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2ac], 0
push 0xa40
call fcn.005b8072
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
test edi, edi
mov dword [esp + 0x3c], 0x3f
je 0x490aa3
push 0x196f
call fcn.0041b230
add esp, 4
push eax
push 0
push 0xff
push 0xff
push 0
mov ecx, edi
call fcn.004bc830
mov dword [esi + 0x2ac], eax
xor eax, eax
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
sub eax, 0
je 0x490a9c
dec eax
je 0x490a95
dec eax
jne 0x4909b9
mov eax, 4
mov cl, byte [edi + 0x1df3]
xor bl, bl
cmp cl, 1
mov byte [esp + 0x2c], bl
jne 0x490a69
mov bl, 1
mov byte [esp + 0x2c], bl
test dl, dl
je 0x490ac0
cmp eax, dword [0x21e696c]
je 0x490a7e
push eax
call fcn.00587a00
add esp, 4
cmp bl, byte [0x21e6970]
je 0x490ace
mov edx, dword [esp + 0x2c]
push edx
call fcn.005879b0
add esp, 4
jmp 0x490ace
mov eax, 2
jmp 0x490a52
mov eax, 1
jmp 0x490a52
xor eax, eax
mov dword [esi + 0x2ac], eax
xor eax, eax
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push eax
mov eax, dword [esp + 0x30]
push eax
call fcn.00587950
add esp, 8
mov ecx, dword [esi + 0x290]
mov al, byte [ecx + 0x22c7]
xor edx, edx
cmp al, 1
sete dl
mov dword [0x21e6a30], edx
mov esi, dword [esi + 0x298]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
mov dword [0x21e6a2c], 0
jmp case.default.0x4908b8
mov al, byte [0x21e6a28]
test al, al
mov dword [0x21e6a2c], 0
je 0x490b3a
mov ecx, dword [esi + 0x298]
call fcn.005041b0
fstp dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, dword [esi + 0x298]
call fcn.00504180
jmp case.default.0x4908b8
mov ecx, 0x21e6948
call fcn.0048b320
jmp case.default.0x4908b8
fld dword [edi + 0x3ac8]
push ecx
fmul dword [0x6a7600]
mov ecx, dword [esi + 0x298]
fstp dword [esp]
call fcn.00504180
jmp case.default.0x4908b8
xor eax, eax
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x28c], eax
jmp 0x490c6f
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, ebx
je 0x490c58
cmp eax, 2
jne 0x490c23
mov edi, dword [esi + 0x2a0]
cmp edi, ebx
je 0x490bb4
mov ecx, edi
call fcn.0047afe0
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a0], ebx
push 0x68
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x41
je 0x490bd7
mov ecx, eax
call fcn.0047afc0
jmp 0x490bd9
xor eax, eax
mov ecx, dword [esi + 0x28c]
mov dword [esi + 0x2a0], eax
mov edx, dword [0x706458]
mov ecx, dword [ecx + 0x104]
add edx, 0xfffffff6
push edx
mov edx, dword [0x706454]
add edx, 0xfffffff6
push edx
push ecx
mov ecx, eax
mov dword [esp + 0x48], 0xffffffff
call fcn.0047b560
test eax, eax
je 0x490336
mov byte [0x21e68d1], 2
jmp case.default.0x4908b8
cmp eax, 3
jne case.default.0x4908b8
mov edi, dword [esi + 0x2a0]
cmp edi, ebx
je 0x490c4c
mov ecx, edi
call fcn.0047afe0
push edi
call fcn.005b806d
add esp, 4
mov dword [esi + 0x2a0], ebx
mov byte [0x21e68d1], 0
jmp case.default.0x4908b8
mov ecx, dword [esi + 0x28c]
cmp ecx, ebx
je 0x490c6f
call fcn.004fd310
test al, al
jne 0x48b523
mov ecx, dword [esi + 0x29c]
cmp ecx, ebx
jne 0x490cbc
push 0x3c
call fcn.005b8072
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x42
je 0x490caa
mov ecx, eax
call fcn.00505060
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x29c], eax
jmp 0x490cd8
xor eax, eax
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x29c], eax
jmp 0x490cd8
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esi + 0x29c]
cmp ecx, ebx
je 0x490cd8
call fcn.005047b0
test al, al
jne 0x48b523
mov ecx, esi
call fcn.00489300
mov ecx, dword [esp + 0x34]
pop edi
neg eax
pop esi
sbb eax, eax
pop ebp
neg eax
mov dword fs:[0], ecx
pop ebx
add esp, 0x30
ret