Function at 0x48e050
Capabilities:
Log keystrokes via polling

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x6af3b7
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [0x7191d4]
mov eax, dword [ecx]
push edi
push 0xc
call dword [eax + 4]
test al, al
je 0x48e093
lea ecx, [esi + 0x390]
call fcn.00510ba0
cmp eax, 0x63
je case.0x48f5f2.1
mov eax, dword [0x85cfbc]
xor ebx, ebx
cmp eax, ebx
je 0x48e0cc
cmp byte [eax + 0x285], 2
jne 0x48e0cc
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x184]
cmp ecx, ebx
je 0x48e0c5
cmp dword [esi + 0x358], ebx
je 0x48e0c5
mov edx, dword [ecx]
push ebx
call dword [edx + 0x14]
mov ecx, esi
call fcn.00422c40
mov ecx, esi
call fcn.0048c650
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, dword [0x864e80]
mov edi, eax
sub eax, edx
cmp eax, 0x3e8
jbe 0x48e105
inc dword [0x21fddb8]
push 0x21fddb8
mov ecx, 0x8655e8
call fcn.004cac60
mov dword [0x864e80], edi
mov ecx, esi
call fcn.004bfb90
cmp eax, 0x63
je case.0x48f5f2.1
mov ecx, esi
call fcn.004bff80
mov ecx, esi
call fcn.004bef30
test eax, eax
je 0x48e15b
mov ecx, dword [esi + 0x184]
cmp ecx, ebx
je 0x48e132
mov edx, dword [ecx]
call dword [edx + 4]
mov esi, dword [esi + 0x1a4]
cmp esi, ebx
je case.0x48f5f2.1
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, esi
call fcn.0048d500
mov ecx, dword [esi + 0x384]
cmp ecx, ebx
je 0x48e1ad
call fcn.004c49d0
test eax, eax
je 0x48e195
mov edi, dword [esi + 0x384]
cmp edi, ebx
je 0x48e195
mov ecx, edi
call fcn.004c5470
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x384], 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 + 0x388]
cmp ecx, ebx
je 0x48e20b
call fcn.004c49d0
cmp eax, ebx
je 0x48e1f3
dec eax
mov dword [0x868dd4], ebx
jne 0x48e1d3
mov dword [0x868dd4], 0x1c
mov edi, dword [esi + 0x388]
cmp edi, ebx
je 0x48e1f3
mov ecx, edi
call fcn.004c5470
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x388], 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 + 0x380]
cmp ecx, ebx
je 0x48e45d
call fcn.004c49d0
mov ebp, eax
cmp ebp, ebx
je 0x48e244
mov edi, dword [esi + 0x380]
cmp edi, ebx
je 0x48e244
mov ecx, edi
call fcn.004c5470
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x380], ebx
cmp ebp, 1
jne case.default.0x493726
mov eax, dword [esi + 0x38c]
dec eax
cmp eax, 3
ja case.default.0x493726
jmp dword [eax*4 + 0x493b88]
mov edi, dword [esi + 0x380]
cmp edi, ebx
mov dword [esi + 0x38c], 2
je 0x48e28e
mov ecx, edi
call fcn.004c5470
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x380], ebx
push 0xc48
call fcn.005cc96d
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, ebx
mov dword [esp + 0x3c], ebx
je 0x48e3b9
push 0x1431
call fcn.0041d4a0
add esp, 4
push eax
push ebx
push 0xff
push 0xff
push 1
mov ecx, edi
call fcn.004c4d10
mov dword [esi + 0x380], 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 + 0x380]
cmp edi, ebx
mov dword [esi + 0x38c], ebx
je 0x48e313
mov ecx, edi
call fcn.004c5470
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x380], ebx
call fcn.0059bdb0
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 + 0x380]
cmp edi, ebx
mov dword [esi + 0x38c], 4
je 0x48e35a
mov ecx, edi
call fcn.004c5470
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x380], ebx
push 0xc48
call fcn.005cc96d
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, ebx
mov dword [esp + 0x3c], 1
je 0x48e3b9
push 0x1432
call fcn.0041d4a0
add esp, 4
push eax
push ebx
push 0xff
push 0xff
push 1
mov ecx, edi
call fcn.004c4d10
mov dword [esi + 0x380], 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 + 0x380], 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 + 0x380]
cmp edi, ebx
mov dword [esi + 0x38c], ebx
je 0x48e3ff
mov ecx, edi
call fcn.004c5470
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x380], ebx
mov ecx, 0x8655e8
call fcn.004cb640
test eax, eax
je 0x48e42a
call fcn.0059bde0
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.0041d4a0
add esp, 4
push eax
push 0x11
mov ecx, dword [0x7191d8]
call fcn.0041f6b0
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 + 0x37c]
or edi, 0xffffffff
cmp ecx, ebx
mov ebp, 6
je 0x48e4c7
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, 2
jne 0x48e4a7
mov ecx, dword [esi + 0x37c]
cmp ecx, ebx
je 0x48e4af
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x37c], 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
cmp eax, ebx
je 0x48e605
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 [0x719850], ebx
je 0x48e4fd
push 0x164c4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 2
je 0x48e5f9
push ebx
mov ecx, eax
call fcn.00436430
jmp 0x48e5fb
cmp dword [0x719854], ebx
je 0x48e534
push 0x164c4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 3
je 0x48e5f9
push 1
mov ecx, eax
call fcn.00436430
jmp 0x48e5fb
mov ecx, dword [esi + 0x164]
cmp dword [ecx + 0x20], ebx
je 0x48e57b
cmp dword [0x719858], ebx
je 0x48e57b
push 0x164c4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 4
je 0x48e56f
push 2
mov ecx, eax
call fcn.00436430
jmp 0x48e571
xor eax, eax
mov dword [esp + 0x3c], edi
mov dword [esi + 0x37c], eax
mov edx, dword [esi + 0x160]
cmp dword [edx + 0x20], ebx
je 0x48e5c2
cmp dword [0x719864], ebx
je 0x48e5c2
push 0x164c4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 5
je 0x48e5b6
push 5
mov ecx, eax
call fcn.00436430
jmp 0x48e5b8
xor eax, eax
mov dword [esp + 0x3c], edi
mov dword [esi + 0x37c], eax
mov eax, dword [esi + 0x170]
cmp dword [eax + 0x20], ebx
je 0x48e605
cmp dword [0x71985c], ebx
je 0x48e605
push 0x164c4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], ebp
je 0x48e5f9
push 3
mov ecx, eax
call fcn.00436430
jmp 0x48e5fb
xor eax, eax
mov dword [esp + 0x3c], edi
mov dword [esi + 0x37c], eax
mov ecx, dword [esi + 0x188]
cmp ecx, ebx
mov dword [esp + 0x28], ecx
je 0x493921
mov eax, dword [esi + 0x18c]
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x493921
movzx ecx, byte [ecx + 0x101]
mov dword [eax + 0x20], ecx
mov eax, dword [esi + 0x190]
cmp eax, ebx
mov dword [esp + 0x20], eax
je 0x493921
mov eax, dword [esi + 0x194]
cmp eax, ebx
mov dword [esp + 0x1c], eax
je 0x493921
mov eax, dword [esi + 0x160]
cmp eax, ebx
mov dword [esp + 0x14], eax
je 0x493921
mov eax, dword [esi + 0x164]
cmp eax, ebx
mov dword [esp + 0x24], eax
je 0x493921
mov eax, dword [esi + 0x16c]
cmp eax, ebx
mov dword [esp + 0x2c], eax
je 0x493921
mov al, byte [0x220203f]
test al, al
mov byte [0x864e70], 0
jne 0x48eb02
mov al, byte [0x220203c]
test al, al
jne 0x48eb02
mov edx, dword [0x7199dc]
mov ecx, dword [0x2203688]
push edx
call fcn.004268b0
test al, al
je 0x48eb02
cmp dword [0x719938], ebx
jne 0x48e6f9
push 0x7191e0
push str.TRUE
mov eax, 1
push str.SHOW_INTERFACE
push 0x6bb880
mov dword [0x7198c4], eax
mov dword [0x719938], eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
cmp dword [0x719a58], ebx
jne 0x48eb02
mov edi, dword [esi + 0x378]
cmp edi, ebx
je 0x48e72a
mov ecx, edi
call fcn.0047e0d0
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x378], ebx
jmp 0x48eaf8
mov eax, dword [0x868dd4]
cmp eax, 0xb
jg 0x48ea0e
cmp eax, 0x6f
je 0x48ea0e
mov eax, dword [esp + 0x14]
cmp byte [eax + 0xe0], 0xff
jne 0x48e768
mov ecx, dword [esp + 0x24]
cmp byte [ecx + 0xe7], 0xff
jne 0x48e768
mov edx, dword [esp + 0x2c]
cmp byte [edx + 0xdc], 0xff
je 0x48e76f
mov byte [0x864e70], 1
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov byte [eax + 0xe0], 0xff
mov byte [ecx + 0xe7], 0xff
mov byte [edx + 0xdc], 0xff
xor edx, edx
lea ecx, [esi + 0x1a8]
mov eax, dword [ecx]
cmp eax, ebx
je 0x48e80b
cmp eax, dword [esi + 0x368]
jne 0x48e7b2
cmp dword [0x21fd8c0], ebx
jne 0x48e834
cmp dword [eax + 0x20], ebx
je 0x48e80b
cmp eax, dword [esi + 0x15c]
je 0x48e852
cmp eax, dword [esi + 0x160]
je 0x48e891
cmp eax, dword [esi + 0x164]
je 0x48e8d0
cmp eax, dword [esi + 0x16c]
je 0x48e90f
cmp eax, dword [esi + 0x170]
je 0x48e94e
cmp eax, dword [esi + 0x174]
je 0x48e98d
cmp eax, dword [esi + 0x1a0]
je 0x48e9cc
inc edx
add ecx, 4
cmp edx, 0x24
jl 0x48e798
mov eax, dword [esi + 0x2ac]
cmp eax, ebx
je 0x48eaff
cmp dword [eax + 0x20], 1
jne 0x48eaff
mov dword [eax + 0x20], ebx
jmp 0x48eaff
mov dword [0x21fd8c0], 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 esi, dword [esi + 0x15c]
push 0x447a0000
push 0x22094c8
push 0x20
push ebx
mov ecx, 0x22071e0
call fcn.0053b0e0
mov ecx, esi
mov dword [esi + 0x20], ebx
call fcn.00503760
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 0x22094c8
push 0x20
push ebx
mov ecx, 0x22071e0
call fcn.0053b0e0
mov ecx, esi
mov dword [esi + 0x20], ebx
call fcn.004f4b30
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 0x22094c8
push 0x20
push ebx
mov ecx, 0x22071e0
call fcn.0053b0e0
mov ecx, esi
mov dword [esi + 0x20], ebx
call fcn.00500390
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 0x22094c8
push 0x20
push ebx
mov ecx, 0x22071e0
call fcn.0053b0e0
mov ecx, esi
mov dword [esi + 0x20], ebx
call fcn.00507930
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 0x22094c8
push 0x20
push ebx
mov ecx, 0x22071e0
call fcn.0053b0e0
mov ecx, esi
mov dword [esi + 0x20], ebx
call fcn.004fe980
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 0x22094c8
push 0x20
push ebx
mov ecx, 0x22071e0
call fcn.0053b0e0
mov ecx, esi
mov dword [esi + 0x20], ebx
call fcn.004f3720
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 ebx
push 0x447a0000
push 0x22094c8
push str.ui_paper001.wav
mov ecx, 0x22071e0
call fcn.0053a850
mov esi, dword [esi + 0x1a0]
mov ecx, esi
mov dword [esi + 0x20], ebx
call fcn.004c0b00
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 0x22094c8
push 0x20
push ebx
mov ecx, 0x22071e0
call fcn.0053b0e0
mov eax, dword [0x868dd4]
add eax, 0xffffffe5
cmp eax, 0x57
ja case.0x48ea3d.28
movzx eax, byte [eax + 0x493bb4]
jmp dword [eax*4 + 0x493b98]
mov ecx, dword [esi + 0x32c]
cmp ecx, ebx
je case.0x48ea3d.28
cmp dword [ecx + 0x3bf0], ebx
je case.0x48ea3d.28
call fcn.0048ca90
jmp 0x48eaf8
mov ecx, dword [esi + 0x2f8]
cmp ecx, ebx
je case.0x48ea3d.28
cmp dword [ecx + 0x704], ebx
je case.0x48ea3d.28
call fcn.0048ca70
jmp 0x48eaf8
mov ecx, dword [esi + 0x26e0]
cmp ecx, ebx
je case.0x48ea3d.28
cmp dword [ecx + 0x704], ebx
je case.0x48ea3d.28
call fcn.0048ca70
jmp 0x48eaf8
mov ecx, dword [esi + 0x2f0]
cmp ecx, ebx
je case.0x48ea3d.28
cmp dword [ecx + 0x3050], ebx
je case.0x48ea3d.28
call fcn.0048ca50
jmp 0x48eaf8
mov ecx, dword [esi + 0x334]
cmp ecx, ebx
je case.0x48ea3d.28
cmp dword [ecx + 0x36fc], ebx
je case.0x48ea3d.28
call fcn.0048cab0
jmp 0x48eaf8
mov ecx, dword [esi + 0x26f8]
cmp ecx, ebx
je 0x48eaf8
cmp dword [ecx + 0x2c], ebx
je 0x48eae6
call fcn.004af8a0
jmp 0x48eaf8
cmp dword [ecx + 0x30], ebx
je case.0x48ea3d.28
call fcn.004af8e0
jmp 0x48eaf8
mov dword [0x868dd4], ebx
mov byte [0x864e70], 1
or edi, 0xffffffff
mov eax, dword [0x868dd4]
dec eax
cmp eax, 0x7d
ja case.0x48eb18.30
movzx ecx, byte [eax + 0x493cd8]
jmp dword [ecx*4 + 0x493c0c]
mov ecx, dword [esi + 0x2fc]
cmp ecx, ebx
jne 0x48ed4f
push 0x25b4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 7
je 0x48eb55
mov ecx, eax
call fcn.0050fc50
mov ecx, eax
jmp 0x48eb57
xor ecx, ecx
mov dword [esi + 0x2fc], ecx
mov eax, dword [0x7085a0]
cdq
sub eax, edx
sar eax, 1
sub eax, 0xbf
push 0x17e
push 0xfa
push eax
mov eax, dword [0x70859c]
cdq
sub eax, edx
sar eax, 1
sub eax, 0x7d
push eax
mov dword [esp + 0x4c], edi
call fcn.0050f210
mov ecx, dword [esi + 0x2fc]
xor edx, edx
mov dx, word [0x86de2c]
xor eax, eax
mov al, byte [0x86de30]
push edx
push eax
push 0x21fe66c
call fcn.0050f400
mov ecx, dword [0x86de30]
mov eax, ecx
dec eax
je 0x48ecdc
dec eax
je 0x48ec36
mov edx, dword [0x86de2c]
push edx
push ecx
mov ecx, 0x86deb0
call fcn.0047a410
mov edi, eax
cmp edi, ebx
je case.0x48f5f2.2
mov eax, dword [0x868ddc]
mov ecx, dword [0x86de2c]
mov edx, dword [0x86de30]
push eax
push ecx
push edx
lea eax, [edi + 0x1c]
push eax
mov ecx, 0x8655e8
call fcn.004cf0d0
mov ecx, dword [0x86de30]
push eax
push ecx
mov ecx, dword [esi + 0x2fc]
call fcn.0050f790
mov edx, dword [edi + 0x18]
mov ecx, dword [esi + 0x2fc]
push edx
call fcn.0050f460
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x2fc]
push eax
call fcn.0050f3b0
jmp 0x48f53e
mov ecx, dword [0x86de2c]
push ecx
mov ecx, 0x86deb0
call fcn.0047a3f0
mov edi, eax
cmp edi, ebx
je case.0x48f5f2.2
mov edx, dword [0x868ddc]
mov eax, dword [0x86de2c]
mov ecx, dword [0x86de30]
push edx
push eax
push ecx
lea edx, [edi + 0x64]
push edx
mov ecx, 0x8655e8
call fcn.004cf0d0
mov ecx, dword [esi + 0x2fc]
push eax
mov eax, dword [0x86de30]
push eax
call fcn.0050f790
mov ecx, dword [edi + 0x18]
push ecx
mov ecx, dword [esi + 0x2fc]
call fcn.0050f460
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x2fc]
push edx
call fcn.0050f3b0
mov edi, dword [edi + 0x10]
cmp edi, 2
mov al, byte [0x21fd8d6]
jne 0x48ecb4
cmp al, 1
jne 0x48ecc5
cmp edi, 1
jne case.0x48f5f2.2
test al, al
je case.0x48f5f2.2
mov ecx, dword [esi + 0x2fc]
push ebx
add ecx, 0x630
call fcn.00527270
jmp 0x48f53e
mov eax, dword [0x86de2c]
push eax
mov ecx, 0x86deb0
call fcn.0047a3d0
mov edi, eax
cmp edi, ebx
je case.0x48f5f2.2
mov ecx, dword [0x868ddc]
mov edx, dword [0x86de2c]
mov eax, dword [0x86de30]
push ecx
push edx
push eax
lea ecx, [edi + 0xec]
push ecx
mov ecx, 0x8655e8
call fcn.004cf0d0
movzx edx, byte [edi + 4]
mov ecx, dword [esi + 0x2fc]
push eax
push edx
call fcn.0050f8e0
mov eax, dword [edi + 0x1c]
mov ecx, dword [esi + 0x2fc]
push eax
call fcn.0050f460
mov ecx, dword [edi + 8]
push ecx
mov ecx, dword [esi + 0x2fc]
call fcn.0050f3b0
jmp 0x48f53e
mov edx, dword [ecx]
call dword [edx + 4]
mov edi, eax
cmp edi, 0x64
je case.0x48f5f2.1
cmp edi, ebx
je 0x48f27d
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x2fc]
cmp ecx, ebx
je 0x48ed83
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x2fc], ebx
mov eax, dword [0x86de30]
lea ecx, [eax - 1]
cmp ecx, 0xd
ja case.default.0x48ed94
jmp dword [ecx*4 + 0x493d58]
mov ecx, dword [0x86de2c]
push ecx
mov ecx, 0x86deb0
call fcn.0047a3d0
cmp eax, ebx
je case.default.0x48ed94
cmp edi, 2
jne 0x48eea8
mov al, byte [eax + 4]
cmp al, 9
jne 0x48ede6
mov dword [0x868dd4], 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 0x48ee0c
mov dword [0x868dd4], 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 0x48ee32
mov dword [0x868dd4], 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 0x48ee58
mov dword [0x868dd4], 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 0x48ee86
cmp al, 0x10
je 0x48ee86
cmp al, 0x14
je 0x48ee86
mov dword [0x868dd4], 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 [0x868dd4], 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.0x48ed94
mov edx, dword [0x868ddc]
mov ecx, dword [0x86de2c]
push edx
mov edx, dword [0x86de30]
push ecx
push edx
add eax, 0xec
push eax
mov ecx, 0x8655e8
call fcn.004cf800
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 0x48ef51
mov dword [0x868dd4], 0x66
call fcn.00599510
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 0x48ef51
mov ecx, 0x8655e8
call fcn.004cbca0
dec eax
neg eax
sbb eax, eax
and eax, 0xfffffff5
add eax, 0x72
mov dword [0x868dd4], 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.0x48ed94
mov ecx, dword [0x86de2c]
push ecx
push eax
mov ecx, 0x86deb0
call fcn.0047a410
cmp eax, ebx
je case.default.0x48ed94
mov edx, dword [0x868ddc]
mov ecx, dword [0x86de2c]
push edx
mov edx, dword [0x86de30]
push ecx
push edx
add eax, 0x1c
push eax
mov ecx, 0x8655e8
call fcn.004cf800
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 0x48efd6
mov dword [0x868dd4], 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.0x48ed94
mov eax, dword [0x86de2c]
push eax
mov ecx, 0x86deb0
call fcn.0047a3f0
cmp eax, ebx
je case.default.0x48ed94
mov ecx, dword [0x868ddc]
mov edx, dword [0x86de2c]
push ecx
mov ecx, dword [0x86de30]
push edx
push ecx
add eax, 0x64
push eax
mov ecx, 0x8655e8
call fcn.004cf800
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.0x48ed94.7
call fcn.00599940
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.0x48ed94.7
mov dword [0x868dd4], 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.0x48ed94.7
cmp dword [0x8655f8], 0x10
jl 0x48f09a
mov al, byte [0x867d8e]
test al, al
jne 0x48f0a4
mov dword [0x868dd4], 0x6c
call fcn.005999a0
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.0x48ed94.7
mov ecx, 0x8655e8
call fcn.004cbca0
dec eax
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 0x71
mov dword [0x868dd4], 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.0x48ed94
mov edx, dword [0x86de2c]
push edx
push eax
mov ecx, 0x86deb0
call fcn.0047a410
cmp eax, ebx
je case.default.0x48ed94
mov ecx, dword [0x868ddc]
mov edx, dword [0x86de2c]
push ecx
mov ecx, dword [0x86de30]
push edx
push ecx
add eax, 0x1c
push eax
mov ecx, 0x8655e8
call fcn.004cf800
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 0x48f1fd
mov edi, dword [esi + 0x380]
cmp edi, ebx
mov dword [esi + 0x38c], 1
je 0x48f189
mov ecx, edi
call fcn.004c5470
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x380], ebx
movzx edx, byte [0x21fe70c]
push 0xc48
mov dword [0x71c1d8], edx
call fcn.005cc96d
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, ebx
mov dword [esp + 0x3c], 8
je 0x48f25d
push 0x1434
call fcn.0041d4a0
add esp, 4
push eax
push 0xff
push 0xff
push 0xff
push 1
mov ecx, edi
call fcn.004c4d10
mov dword [esi + 0x380], 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.0x48ed94
mov dword [esi + 0x38c], edi
mov edi, dword [esi + 0x380]
cmp edi, ebx
je 0x48f228
mov ecx, edi
call fcn.004c5470
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x380], ebx
movzx eax, byte [0x21fe70d]
push 0xc48
mov dword [0x71c1d8], eax
call fcn.005cc96d
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, ebx
mov dword [esp + 0x3c], 9
je 0x48f25d
push 0x1435
jmp 0x48f1be
xor eax, eax
mov dword [esi + 0x380], 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 + 0x2fc]
cmp ecx, ebx
je case.0x48f5f2.2
call fcn.0050f770
test al, al
je case.0x48f5f2.2
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 + 0x2c8]
cmp ecx, ebx
jne 0x48f36d
push 0x12a0
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0xa
je 0x48f2e4
mov ecx, eax
call fcn.005091b0
jmp 0x48f2e6
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2c8], eax
je 0x493921
mov ecx, dword [esi + 0x160]
cmp dword [ecx + 0x20], ebx
jne 0x48f315
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x2c8]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48f343
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48f349
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.005080a0
mov eax, dword [0x868ddc]
mov ecx, dword [0x86de2c]
push eax
push ecx
mov ecx, dword [esi + 0x2c8]
call fcn.00508230
jmp 0x48f53e
mov edx, dword [esi + 0x160]
push edx
call fcn.005086c0
test eax, eax
je 0x48f3a3
mov eax, dword [esi + 0x160]
push eax
mov ecx, esi
call fcn.0048c040
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 + 0xdc], ebx
jne 0x48f3ef
xor ecx, ecx
mov cl, byte [edi + 0xe0]
xor edx, edx
mov dl, byte [edi + 0xe1]
push ecx
mov ecx, dword [esi + 0x2c8]
push edx
call fcn.005082d0
test eax, eax
je 0x48f3ef
mov byte [edi + 0xe0], 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 + 0x2c8]
mov eax, dword [ecx]
call dword [eax + 4]
test eax, eax
je case.0x48f5f2.2
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 + 0x2f4]
cmp ecx, ebx
jne 0x48f5dd
push 0x1444
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0xb
je 0x48f44e
mov ecx, eax
call fcn.004acfd0
jmp 0x48f450
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2f4], eax
je 0x493921
mov ecx, dword [0x86de2c]
push ecx
mov ecx, 0x86deb0
call fcn.0047a3d0
mov edx, dword [esi + 0x160]
mov ebx, eax
mov eax, dword [edx + 0x20]
test eax, eax
jne 0x48f494
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov eax, dword [esi + 0x160]
push eax
mov ecx, esi
call fcn.0048c040
mov edx, dword [esi + 0x160]
mov ecx, dword [esi + 0x2f4]
mov edi, dword [ecx + 0xc]
mov eax, dword [edx + 4]
sub eax, edi
mov ebp, dword [edx + 8]
js 0x48f4c2
mov eax, dword [edx + 4]
sub eax, edi
jmp 0x48f4c8
mov eax, dword [edx + 0xc]
add eax, dword [edx + 4]
mov dl, byte [ebx + 4]
cmp dl, 0xf
jne 0x48f4e2
push 0
push 1
push ebp
push eax
call fcn.004ac7e0
push 0x1580
jmp 0x48f4f7
cmp dl, 0x10
jne 0x48f50b
push 0
push 0
push ebp
push eax
call fcn.004ac7e0
push 0x1581
call fcn.0041d4a0
mov ecx, dword [esi + 0x2f4]
add esp, 4
push eax
call fcn.004accc0
mov ecx, dword [ebx + 8]
push ecx
mov ecx, dword [esi + 0x2f4]
call fcn.004acc20
mov ecx, dword [esi + 0x2f4]
xor edx, edx
mov dx, word [0x86de2c]
xor eax, eax
mov al, byte [0x86de30]
push edx
push eax
push 0x21fe66c
call fcn.004acc70
xor ebx, ebx
mov ebp, dword [esp + 0x28]
cmp dword [ebp + 0x20], ebx
je 0x4923cc
mov dl, byte [ebp + 0x4d]
cmp dl, 0xff
je 0x4923cc
mov eax, dword [ebp + 4]
mov ecx, dword [0x71c2a4]
cmp ecx, eax
jl 0x48f587
mov edi, dword [ebp + 0xc]
add edi, eax
cmp ecx, edi
jg 0x48f587
mov eax, dword [ebp + 8]
mov ecx, dword [0x71c2a8]
cmp ecx, eax
jl 0x48f587
mov edi, dword [ebp + 0x10]
add edi, eax
cmp ecx, edi
jle 0x4923b1
xor ecx, ecx
mov cl, byte [ebp + 0x4c]
push ebx
push edx
push ecx
mov ecx, dword [esp + 0x24]
call fcn.004de5c0
test eax, eax
jne 0x48f5d4
mov ecx, dword [esp + 0x20]
xor edx, edx
mov dl, byte [ebp + 0x4d]
xor eax, eax
mov al, byte [ebp + 0x4c]
push ebx
push edx
push eax
call fcn.004e6110
test eax, eax
jne 0x48f5d4
xor ecx, ecx
mov cl, byte [ebp + 0x4d]
xor edx, edx
mov dl, byte [ebp + 0x4c]
push ebx
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.004dd2c0
test eax, eax
je 0x4923b1
mov byte [ebp + 0x4d], 0xff
jmp case.default.0x493726
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, 0x7e
ja case.0x48f5f2.2
movzx ecx, byte [eax + 0x493d9c]
jmp dword [ecx*4 + 0x493d90]
mov dword [0x868dd4], eax
mov ecx, dword [esi + 0x2f4]
cmp ecx, ebx
je case.0x48f5f2.2
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x2f4], ebx
jmp 0x48f53e
mov ecx, dword [esi + 0x2ec]
cmp ecx, ebx
je 0x48f66f
mov eax, dword [esi + 0x160]
push eax
call fcn.004e9df0
mov ecx, eax
sub ecx, ebx
je 0x48f649
dec ecx
je case.0x48f5f2.1
sub ecx, 0x77
jne 0x48f53e
mov dword [0x868dd4], eax
mov ecx, dword [esi + 0x2ec]
cmp ecx, ebx
je 0x48f664
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x2ec], ebx
mov dword [esi + 0x298], ebx
jmp 0x48f53e
push 0x26a4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0xc
je 0x48f695
mov ecx, eax
call fcn.004e97b0
jmp 0x48f697
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2ec], eax
je 0x493921
mov dword [esi + 0x298], eax
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebx
jne 0x48f6cc
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x2ec]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48f6fa
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48f700
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
mov eax, dword [0x868dd4]
push eax
push ebp
push edx
call fcn.004e8d70
xor ecx, ecx
mov cx, word [0x86de2c]
xor edx, edx
mov dl, byte [0x86de30]
push ecx
mov ecx, dword [esi + 0x2ec]
push edx
push 0x21fe66c
call fcn.004e9130
jmp 0x48f53e
mov ecx, dword [esi + 0x2e8]
cmp ecx, ebx
je 0x48f787
mov eax, dword [esi + 0x160]
push eax
call fcn.004e4ca0
mov ecx, eax
sub ecx, ebx
je 0x48f761
dec ecx
je case.0x48f5f2.1
sub ecx, 0x77
jne 0x48f53e
mov dword [0x868dd4], eax
mov ecx, dword [esi + 0x2e8]
cmp ecx, ebx
je 0x48f77c
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x2e8], ebx
mov dword [esi + 0x294], ebx
jmp 0x48f53e
push 0x2700
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0xd
je 0x48f7ad
mov ecx, eax
call fcn.004e4580
jmp 0x48f7af
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2e8], eax
je 0x493921
mov dword [esi + 0x294], eax
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebx
jne 0x48f7e4
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x2e8]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48f812
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48f818
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
mov eax, dword [0x868dd4]
push eax
push ebp
push edx
call fcn.004e3aa0
xor ecx, ecx
mov cx, word [0x86de2c]
xor edx, edx
mov dl, byte [0x86de30]
push ecx
mov ecx, dword [esi + 0x2e8]
push edx
push 0x21fe66c
call fcn.004e3ef0
jmp 0x48f53e
mov ecx, dword [esi + 0x2e0]
cmp ecx, ebx
jne 0x48f91a
push 0x26c8
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0xe
je 0x48f881
mov ecx, eax
call fcn.004ac2b0
jmp 0x48f883
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2e0], eax
je 0x493921
mov dword [esi + 0x2a0], eax
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebx
jne 0x48f8b8
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x2e0]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48f8e6
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48f8ec
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004aa510
xor eax, eax
mov ax, word [0x86de2c]
xor ecx, ecx
mov cl, byte [0x86de30]
push eax
push ecx
mov ecx, dword [esi + 0x2e0]
push 0x21fe66c
call fcn.004aa9a0
jmp 0x48f53e
mov edx, dword [esi + 0x160]
push edx
call fcn.004aafe0
cmp eax, ebx
je case.0x48f5f2.2
cmp eax, 2
je 0x48f972
cmp eax, 4
jne 0x48f95a
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x2e0]
cmp ecx, ebx
je 0x48f954
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x2e0], ebx
mov dword [esi + 0x2a0], 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 dword [0x868dd4], 0x78
jmp 0x48f93e
mov ecx, dword [esi + 0x2d8]
cmp ecx, ebx
jne 0x48fa4b
push 0x26b4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0xf
je 0x48f9b2
mov ecx, eax
call fcn.004aea70
jmp 0x48f9b4
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2d8], eax
je 0x493921
mov ecx, dword [esi + 0x160]
mov dword [esi + 0x29c], eax
cmp dword [ecx + 0x20], ebx
jne 0x48f9e9
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x2d8]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48fa17
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48fa1d
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004ad1d0
xor eax, eax
mov ax, word [0x86de2c]
xor ecx, ecx
mov cl, byte [0x86de30]
push eax
push ecx
mov ecx, dword [esi + 0x2d8]
push 0x21fe66c
call fcn.004ad5d0
jmp 0x48f53e
mov edx, dword [esi + 0x160]
push edx
call fcn.004ad9c0
cmp eax, ebx
je case.0x48f5f2.2
cmp eax, 2
je 0x48faa3
cmp eax, 4
jne 0x48fa8b
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x2d8]
cmp ecx, ebx
je 0x48fa85
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x2d8], ebx
mov dword [esi + 0x29c], 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 dword [0x868dd4], 0x78
jmp 0x48fa6f
mov ecx, dword [esi + 0x2dc]
cmp ecx, ebx
jne 0x48fb76
push 0x26b4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x10
je 0x48fae3
mov ecx, eax
call fcn.004a90c0
jmp 0x48fae5
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2dc], eax
je 0x493921
mov ecx, dword [esi + 0x160]
cmp dword [ecx + 0x20], ebx
jne 0x48fb14
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x2dc]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48fb42
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48fb48
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004a83a0
xor eax, eax
mov ax, word [0x86de2c]
xor ecx, ecx
mov cl, byte [0x86de30]
push eax
push ecx
mov ecx, dword [esi + 0x2dc]
push 0x21fe66c
call fcn.004ad5d0
jmp 0x48f53e
mov edx, dword [esi + 0x160]
push edx
call fcn.004a8900
cmp eax, ebx
je case.0x48f5f2.2
cmp eax, 2
je 0x48fb94
cmp eax, 4
jne 0x48fbb0
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x2dc]
cmp ecx, ebx
je 0x48fbb0
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x2dc], 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 + 0x2f0]
cmp ecx, ebx
jne 0x48fc8f
push 0x3310
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x11
je 0x48fbfc
mov ecx, eax
call fcn.004e5de0
jmp 0x48fbfe
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2f0], eax
je 0x493921
mov ecx, dword [esi + 0x160]
cmp dword [ecx + 0x20], ebx
jne 0x48fc2d
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x2f0]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48fc5b
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48fc61
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004e4d30
xor eax, eax
mov ax, word [0x86de2c]
xor ecx, ecx
mov cl, byte [0x86de30]
push eax
push ecx
mov ecx, dword [esi + 0x2f0]
push 0x21fe66c
call fcn.004e54a0
jmp 0x48f53e
mov edx, dword [esi + 0x160]
push edx
call fcn.004e56f0
cmp eax, ebx
je case.0x48f5f2.2
cmp eax, 2
je 0x48fcb7
cmp eax, 3
je 0x48fcbc
cmp eax, 4
je 0x48fcb7
cmp eax, 5
jne 0x48fcf0
cmp eax, 3
jne 0x48fcc8
mov dword [0x868dd4], 0x68
jmp 0x48fcda
xor ecx, ecx
cmp eax, 5
setne cl
dec ecx
and ecx, 0x77
mov dword [0x868dd4], ecx
mov ecx, dword [esi + 0x2f0]
cmp ecx, ebx
je 0x48fcf0
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x2f0], 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 + 0x2d0]
cmp ecx, ebx
jne 0x48fdd5
push 0x2c54
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x12
je 0x48fd3c
mov ecx, eax
call fcn.004988a0
jmp 0x48fd3e
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2d0], eax
je 0x493921
mov dword [esi + 0x2a8], eax
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebx
jne 0x48fd73
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x2d0]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48fda1
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48fda7
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.00494d00
xor eax, eax
mov ax, word [0x86de2c]
xor ecx, ecx
mov cl, byte [0x86de30]
push eax
push ecx
mov ecx, dword [esi + 0x2d0]
push 0x21fe66c
call fcn.00495980
jmp 0x48f53e
mov edx, dword [esi + 0x160]
push edx
call fcn.00496540
cmp eax, ebx
je case.0x48f5f2.2
cmp eax, 2
je 0x48fe2d
cmp eax, 4
jne 0x48fe15
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x2d0]
cmp ecx, ebx
je 0x48fe0f
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x2d0], ebx
mov dword [esi + 0x2a8], 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 dword [0x868dd4], 0x66
jmp 0x48fdf9
mov ecx, dword [esi + 0x2d4]
cmp ecx, ebx
jne 0x48ff06
push 0x26cc
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x13
je 0x48fe6d
mov ecx, eax
call fcn.004e31a0
jmp 0x48fe6f
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2d4], eax
je 0x493921
mov ecx, dword [esi + 0x160]
mov dword [esi + 0x2a4], eax
cmp dword [ecx + 0x20], ebx
jne 0x48fea4
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x2d4]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x48fed2
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x48fed8
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004e0910
xor eax, eax
mov ax, word [0x86de2c]
xor ecx, ecx
mov cl, byte [0x86de30]
push eax
push ecx
mov ecx, dword [esi + 0x2d4]
push 0x21fe66c
call fcn.004aa9a0
jmp 0x48f53e
mov edx, dword [esi + 0x160]
push edx
call fcn.004e1580
cmp eax, ebx
je case.0x48f5f2.2
cmp eax, 2
je 0x48ff5e
cmp eax, 4
jne 0x48ff46
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x2d4]
cmp ecx, ebx
je 0x48ff40
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x2d4], ebx
mov dword [esi + 0x2a4], 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 dword [0x868dd4], 0x66
jmp 0x48ff2a
mov ecx, dword [esi + 0x2e4]
cmp ecx, ebx
jne 0x48ffd1
push 0x6c4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x14
je 0x48ff9a
mov ecx, eax
call fcn.0046e0d0
jmp 0x48ff9c
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2e4], eax
je 0x493921
mov ecx, dword [0x71c2a8]
mov edx, dword [0x71c2a4]
add ecx, 0xffffff56
push ecx
add edx, 0xffffffec
push edx
mov ecx, eax
call fcn.0046da10
jmp 0x48f53e
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, ebx
je case.0x48f5f2.2
cmp eax, 2
jne 0x48ffff
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x2e4]
cmp ecx, ebx
je 0x48ffff
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x2e4], 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 + 0x2f8]
cmp ecx, ebx
jne 0x4900de
push 0x930
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x15
je 0x49004b
mov ecx, eax
call fcn.0050db70
jmp 0x49004d
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x2f8], eax
je 0x493921
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebx
jne 0x49007c
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x2f8]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x4900aa
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x4900b0
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.0050cce0
xor eax, eax
mov ax, word [0x86de2c]
xor ecx, ecx
mov cl, byte [0x86de30]
push eax
push ecx
mov ecx, dword [esi + 0x2f8]
push 0x21fe66c
call fcn.0049f2b0
jmp 0x48f53e
mov edx, dword [esi + 0x160]
push edx
call fcn.0050f000
cmp eax, ebx
je case.0x48f5f2.2
cmp eax, 2
jne 0x490113
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x2f8]
cmp ecx, ebx
je 0x490113
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x2f8], 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 + 0x26e0]
cmp ecx, ebx
jne 0x4901f2
push 0x930
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x16
je 0x49015f
mov ecx, eax
call fcn.004a0fd0
jmp 0x490161
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x26e0], eax
je 0x493921
mov ecx, dword [esi + 0x160]
cmp dword [ecx + 0x20], ebx
jne 0x490190
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x26e0]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x4901be
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x4901c4
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.0049f020
xor eax, eax
mov ax, word [0x86de2c]
xor ecx, ecx
mov cl, byte [0x86de30]
push eax
push ecx
mov ecx, dword [esi + 0x26e0]
push 0x21fe66c
call fcn.0049f2b0
jmp 0x48f53e
mov edx, dword [esi + 0x160]
push edx
call fcn.004a12f0
cmp eax, ebx
je case.0x48f5f2.2
cmp eax, 2
jne 0x490227
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x26e0]
cmp ecx, ebx
je 0x490227
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x26e0], 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 + 0x338]
cmp ecx, ebx
jne 0x490329
mov ecx, dword [0x86de2c]
push ecx
mov ecx, 0x86deb0
call fcn.0047a3f0
mov edi, eax
cmp edi, ebx
je 0x491753
push 0x31a4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x17
je 0x49028e
mov ecx, eax
call fcn.00494730
jmp 0x490290
xor eax, eax
mov dword [esi + 0x338], eax
xor edx, edx
mov dx, word [0x86de2c]
xor ecx, ecx
mov cl, byte [0x86de30]
mov dword [esp + 0x3c], 0xffffffff
push edx
push ecx
push 0x21fe66c
mov ecx, eax
call fcn.004941a0
mov eax, dword [edi + 0x5c]
cmp eax, ebx
jne 0x4902c9
mov eax, 0x6bb5d5
mov ecx, dword [edi + 0x44]
cmp ecx, ebx
mov edx, 0x6bb5d5
je 0x4902d7
mov edx, ecx
mov ecx, dword [edi + 0x2c]
cmp ecx, ebx
jne 0x4902e3
mov ecx, 0x6bb5d5
mov ebp, dword [edi + 0x50]
push ebp
xor ebp, ebp
mov bp, word [edi + 0x4c]
push ebp
mov ebp, dword [edi + 0x60]
push ebp
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 [0x868dd8]
push edx
push ecx
mov ecx, dword [esi + 0x338]
push eax
call fcn.00493eb0
jmp 0x48f53e
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, 2
jne 0x490367
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x338]
cmp ecx, ebx
je 0x49036f
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x338], 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
cmp eax, ebx
je case.0x48f5f2.2
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 + 0x2cc]
cmp ecx, ebx
jne 0x490487
mov ecx, esi
call fcn.00422c40
movzx ecx, word [0x86de22]
push ecx
mov ecx, 0x86deb0
call fcn.0047a450
mov edi, eax
cmp edi, ebx
je case.0x48f5f2.2
push 0x3b10
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x18
je 0x4903de
mov ecx, eax
call fcn.004db300
jmp 0x4903e0
xor eax, eax
mov ecx, eax
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x2cc], eax
call fcn.004dadc0
mov ecx, dword [esi + 0x2cc]
xor edx, edx
mov dl, byte [0x86de24]
push edi
push edx
call fcn.004daa60
xor eax, eax
mov ax, word [0x86de2c]
xor ecx, ecx
mov cl, byte [0x86de30]
push eax
push ecx
mov ecx, dword [esi + 0x2cc]
push 0x21fe66c
call fcn.004da860
mov al, byte [0x86de20]
cmp al, 2
jne 0x49043e
mov edx, dword [edi + 0xc8]
push edx
jmp 0x49046c
cmp al, 1
jne 0x49044a
mov eax, dword [edi + 0xd4]
jmp 0x49046b
cmp al, 3
je 0x490452
cmp al, 4
jne 0x490477
mov al, byte [0x86de24]
cmp al, 3
jne 0x490461
mov ecx, dword [edi + 8]
push ecx
jmp 0x49046c
movzx edx, al
mov eax, dword [edi + edx*4 + 0xc8]
push eax
mov ecx, dword [esi + 0x2cc]
call fcn.004da9a0
mov ecx, dword [esi + 0x2cc]
mov edx, dword [ecx]
call dword [edx + 4]
jmp 0x48f53e
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, eax
cmp ebx, 0x64
je case.0x48f5f2.1
xor edi, edi
cmp ebx, edi
jle 0x4904f7
mov dword [0x868dd4], edi
mov ecx, dword [esi + 0x2cc]
cmp ecx, edi
je 0x4904b9
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x2cc], edi
mov al, byte [0x86de20]
cmp al, 4
jne 0x4904fc
mov ax, word [0x86de26]
mov word [0x86de22], ax
mov byte [0x86de20], 1
mov dword [0x868dd4], 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 [0x86de20]
cmp al, 2
jne 0x490558
cmp ebx, edi
jle 0x490525
xor ecx, ecx
mov cl, bl
dec cl
xor edx, edx
mov dx, word [0x86de22]
push ecx
push edx
call fcn.005991a0
add esp, 8
cmp ebx, edi
jg case.0x48f5f2.1
mov ecx, dword [esi + 0x2cc]
cmp ecx, edi
je case.0x48f5f2.2
call fcn.004da960
test al, al
je case.0x48f5f2.2
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 0x49061d
cmp al, bl
jne case.0x48f5f2.1
movzx eax, word [0x86de22]
push eax
mov ecx, 0x86deb0
call fcn.0047a450
cmp eax, edi
je case.0x48f5f2.1
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, 0x8655e8
push edx
push eax
call fcn.004cace0
test eax, eax
jne 0x4905dc
push 0x1436
call fcn.0041d4a0
mov ecx, dword [0x7191d8]
add esp, 4
push eax
push 0x11
call fcn.0041f6b0
push edi
push 0x447a0000
push 0x22094c8
push 0x6be918
mov ecx, 0x22071e0
call fcn.0053a850
jmp case.0x48f5f2.1
xor eax, eax
mov al, byte [0x86de28]
test al, al
je 0x490600
xor ecx, ecx
mov cl, byte [0x86de29]
push ecx
push eax
call fcn.00598b80
add esp, 8
mov byte [0x86de28], 0
mov eax, dword [0x868ddc]
xor edx, edx
mov dx, word [0x86de22]
push edx
push eax
call fcn.00599120
add esp, 8
jmp case.0x48f5f2.1
cmp ebx, 2
jne 0x49051d
mov byte [0x86de28], 0
mov byte [0x86de29], 0
jmp case.0x48f5f2.1
mov ecx, dword [esi + 0x330]
cmp ecx, ebx
jne 0x490687
push 0x71e4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x19
je 0x490676
mov ecx, eax
call fcn.0049bb60
mov dword [esp + 0x3c], edi
mov dword [esi + 0x330], eax
jmp 0x48f53e
xor eax, eax
mov dword [esp + 0x3c], edi
mov dword [esi + 0x330], eax
jmp 0x48f53e
call fcn.0049b180
cmp eax, 2
jne 0x490367
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x330]
cmp ecx, ebx
je 0x49036f
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x330], ebx
jmp 0x49036f
mov ecx, dword [esi + 0x26e8]
cmp ecx, ebx
jne 0x490717
push 0x6110
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x1a
je 0x4906ea
mov ecx, eax
call fcn.0049e4b0
jmp 0x4906ec
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x26e8], eax
je case.0x48f5f2.2
mov ecx, eax
call fcn.0049ce60
mov ecx, dword [esi + 0x184]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
jmp 0x48f53e
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, 2
jne 0x490367
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x26e8]
cmp ecx, ebx
je 0x490741
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x26e8], ebx
mov esi, dword [esi + 0x184]
mov edx, dword [esi]
push ebx
mov ecx, esi
call dword [edx + 0x14]
jmp 0x49036f
mov ecx, dword [esi + 0x26ec]
cmp ecx, ebx
jne 0x4907b1
push 0x728c
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x1b
je 0x490784
mov ecx, eax
call fcn.00483210
jmp 0x490786
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x26ec], eax
je case.0x48f5f2.2
mov ecx, eax
call fcn.00481b60
mov ecx, dword [esi + 0x184]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
jmp 0x48f53e
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, 2
jne 0x490367
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x26ec]
cmp ecx, ebx
je 0x4907db
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x26ec], ebx
mov esi, dword [esi + 0x184]
mov edx, dword [esi]
push ebx
mov ecx, esi
call dword [edx + 0x14]
jmp 0x49036f
mov ecx, dword [esi + 0x300]
cmp ecx, ebx
jne 0x490865
push 0x254
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x1c
je 0x49081e
mov ecx, eax
call fcn.005293b0
jmp 0x490820
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], edi
mov dword [esi + 0x300], eax
call fcn.005297a0
push 0x1f62
call fcn.0041d4a0
mov ecx, dword [esi + 0x300]
add esp, 4
push eax
push 0x21fe604
push str._s__s
push ebx
call fcn.00528b70
push eax
call fcn.0052dff0
add esp, 0x10
jmp 0x48f53e
call fcn.00528da0
mov edi, eax
cmp edi, ebx
je 0x4908d5
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x300]
cmp ecx, ebx
je 0x49088c
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x300], ebx
cmp edi, 1
jne 0x4908af
push edi
call fcn.0059c930
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 0x4908bd
push ebx
call fcn.0059c930
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 + 0x300]
cmp ecx, ebx
je case.0x48f5f2.2
call fcn.00528b50
test al, al
je case.0x48f5f2.2
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 + 0x304]
cmp ecx, ebx
jne 0x490985
push 0x254
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x1d
je 0x490938
mov ecx, eax
call fcn.005293b0
jmp 0x49093a
xor eax, eax
push 0x18
mov ecx, eax
mov dword [esp + 0x40], edi
mov dword [esi + 0x304], eax
call fcn.005297a0
mov ecx, dword [esi + 0x304]
push 0x277a
mov dword [ecx + 0x124], 0x41700000
call fcn.0041d4a0
mov ecx, dword [esi + 0x304]
add esp, 4
add ecx, 0x128
mov dl, byte [eax]
inc eax
mov byte [ecx], dl
inc ecx
test dl, dl
jne 0x490976
jmp 0x48f53e
call fcn.00528da0
mov edi, eax
cmp edi, ebx
je 0x4909f9
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x304]
cmp ecx, ebx
je 0x4909ac
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x304], ebx
cmp edi, 1
jne 0x4909cf
push edi
call fcn.0059b7e0
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 0x4908bd
push ebx
call fcn.0059b7e0
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 + 0x304]
jmp 0x4908db
mov ecx, dword [esi + 0x308]
cmp ecx, ebx
jne 0x490a6f
push 0x254
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x1e
je 0x490a34
mov ecx, eax
call fcn.005293b0
jmp 0x490a36
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], edi
mov dword [esi + 0x308], eax
call fcn.005297a0
push 0x1f62
call fcn.0041d4a0
mov ecx, dword [esi + 0x308]
add esp, 4
push eax
push ebx
call fcn.00528b70
mov ecx, eax
call fcn.0052dbd0
jmp 0x48f53e
call fcn.00528da0
mov edi, eax
cmp edi, ebx
je 0x490ac0
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x308]
cmp ecx, ebx
je 0x490a96
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x308], ebx
cmp edi, 1
jne 0x490aa9
push edi
call fcn.0059b840
add esp, 4
jmp 0x4908f0
cmp edi, 2
jne 0x4908bd
push ebx
call fcn.0059b840
add esp, 4
jmp 0x4908f0
mov ecx, dword [esi + 0x308]
jmp 0x4908db
mov ecx, dword [esi + 0x26e4]
cmp ecx, ebx
jne 0x490b36
push 0x254
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x1f
je 0x490afb
mov ecx, eax
call fcn.005293b0
jmp 0x490afd
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], edi
mov dword [esi + 0x26e4], eax
call fcn.005297a0
push 0x1f6b
call fcn.0041d4a0
mov ecx, dword [esi + 0x26e4]
add esp, 4
push eax
push ebx
call fcn.00528b70
mov ecx, eax
call fcn.0052dbd0
jmp 0x48f53e
call fcn.00528da0
mov edi, eax
cmp edi, ebx
je 0x490b9c
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x26e4]
cmp ecx, ebx
je 0x490b5d
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x26e4], ebx
cmp edi, 1
jne 0x4908bd
mov eax, dword [0x85cfbc]
add eax, 0x10
push eax
mov ecx, 0x2207140
call fcn.00537940
mov edi, eax
cmp edi, ebx
je 0x4908bd
mov ecx, esi
call fcn.0048ca10
xor ecx, ecx
mov cl, byte [edi]
push ecx
call fcn.0059c700
add esp, 4
jmp 0x4908f0
mov ecx, dword [esi + 0x26e4]
jmp 0x4908db
mov ecx, dword [esi + 0x30c]
cmp ecx, ebx
jne 0x490c18
push 0x254
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x20
je 0x490bd7
mov ecx, eax
call fcn.005293b0
jmp 0x490bd9
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], edi
mov dword [esi + 0x30c], eax
call fcn.005297a0
push 0x21fe604
push 0x71a9c8
call fcn.0041d3b0
mov eax, 0x21fe604
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x490c06
sub eax, edx
mov dword [esp + 0x30], eax
jmp 0x490ccd
call fcn.00528da0
mov ebx, eax
xor edi, edi
cmp ebx, edi
je 0x490d7e
mov dword [0x868dd4], edi
mov ecx, dword [esi + 0x30c]
cmp ecx, edi
je 0x490c45
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x30c], edi
mov eax, dword [0x8666d8]
xor ecx, ecx
mov cl, bl
dec cl
push eax
push ecx
call fcn.00599570
jmp 0x490d5e
mov ecx, dword [esi + 0x30c]
cmp ecx, ebx
jne 0x490d23
push 0x254
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x21
je 0x490c90
mov ecx, eax
call fcn.005293b0
jmp 0x490c92
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], edi
mov dword [esi + 0x30c], eax
call fcn.005297a0
push 0x21fe604
push 0x71a9c8
call fcn.0041d3b0
mov eax, 0x21fe604
add esp, 8
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x490cc0
sub eax, edx
mov dword [esp + 0x30], eax
je 0x490cfd
push 0xcc
call fcn.0041d4a0
add esp, 4
cmp eax, ebx
je case.0x48f5f2.2
mov ecx, dword [esi + 0x30c]
push eax
push ebx
call fcn.00528b70
mov ecx, eax
call fcn.0052dbd0
jmp 0x48f53e
push 0x2717
call fcn.0041d4a0
mov ecx, dword [esi + 0x30c]
add esp, 4
push eax
push ebx
call fcn.00528b70
mov ecx, eax
call fcn.0052dbd0
jmp 0x48f53e
call fcn.00528da0
mov ebx, eax
xor edi, edi
cmp ebx, edi
je 0x490d7e
mov dword [0x868dd4], edi
mov ecx, dword [esi + 0x30c]
cmp ecx, edi
je 0x490d4c
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x30c], edi
mov eax, dword [0x8666d8]
xor ecx, ecx
mov cl, bl
dec cl
push eax
push ecx
call fcn.005988c0
add esp, 8
cmp ebx, 2
jne 0x4908f0
push 0xd0
push 7
call fcn.0041fce0
add esp, 8
jmp 0x4908f0
mov ecx, dword [esi + 0x30c]
cmp ecx, edi
jmp 0x4908dd
mov ecx, dword [esi + 0x320]
cmp ecx, ebx
jne 0x490e05
push 0x254
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x22
je 0x490dbb
mov ecx, eax
call fcn.005293b0
jmp 0x490dbd
xor eax, eax
push 0x17
mov ecx, eax
mov dword [esp + 0x40], edi
mov dword [esi + 0x320], eax
call fcn.005297a0
push 0x21fe604
push 0x71a9c8
call fcn.0041d3b0
push 0x332
call fcn.0041d4a0
mov ecx, dword [esi + 0x320]
add esp, 0xc
push eax
push ebx
call fcn.00528b70
mov ecx, eax
call fcn.0052dbd0
jmp 0x48f53e
call fcn.00528da0
mov edi, eax
cmp edi, ebx
je 0x490e73
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x320]
cmp ecx, ebx
je 0x490e2c
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x320], ebx
mov eax, dword [0x8666d8]
push eax
mov ecx, 0x71d0f0
call fcn.00447a40
cmp eax, ebx
je 0x4908bd
cmp dword [eax + 0xdc], 4
je 0x4908bd
cmp edi, 1
jne 0x490e64
push ebx
call fcn.0059c550
add esp, 4
jmp 0x4908f0
push 1
call fcn.0059c550
add esp, 4
jmp 0x4908f0
mov ecx, dword [esi + 0x320]
jmp 0x4908db
mov ecx, dword [esi + 0x354]
cmp ecx, ebx
jne 0x490ec6
push 0x34d4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x23
je 0x490eae
mov ecx, eax
call fcn.0048d580
jmp 0x490eb0
xor eax, eax
mov ecx, eax
mov dword [esp + 0x3c], edi
mov dword [esi + 0x354], eax
call fcn.004e9e50
jmp 0x48f53e
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, ebx
je case.0x48f5f2.1
cmp eax, 2
jne case.0x48f5f2.1
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x354]
cmp ecx, ebx
je 0x4908f0
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x354], ebx
jmp 0x4908f0
cmp dword [0x708598], 4
jne 0x490fa1
mov ecx, dword [esi + 0x26d8]
cmp ecx, ebx
jne 0x490f56
push 0x6dc
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x24
je 0x490f48
mov ecx, eax
call fcn.005266d0
mov dword [esp + 0x3c], edi
mov dword [esi + 0x26d8], eax
jmp 0x490f62
xor eax, eax
mov dword [esp + 0x3c], edi
mov dword [esi + 0x26d8], eax
jmp 0x490f62
mov al, byte [ecx + 0x14]
test al, al
jne 0x490f62
call fcn.0051ced0
mov ecx, dword [esi + 0x26d8]
cmp ecx, ebx
je 0x48f53e
call fcn.0051abf0
cmp eax, ebx
je case.0x48f5f2.2
cmp eax, 1
jne case.0x48f5f2.2
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x26d8]
call fcn.0051d410
call fcn.0059c9d0
jmp 0x4908f0
mov ecx, dword [0x7191d4]
mov edx, dword [ecx]
push 0x38
call dword [edx + 4]
test al, al
je 0x490fbd
mov dword [0x868dd4], ebx
jmp 0x4908f0
mov ecx, dword [esi + 0x35c]
cmp ecx, ebx
jne 0x491005
push 0x98b4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x25
je 0x490fed
mov ecx, eax
call fcn.0048d7a0
jmp 0x490fef
xor eax, eax
mov ecx, eax
mov dword [esp + 0x3c], edi
mov dword [esi + 0x35c], eax
call fcn.004d71e0
jmp 0x48f53e
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, ebx
je case.0x48f5f2.1
cmp eax, 2
jne 0x49103c
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x35c]
cmp ecx, ebx
je 0x4908f0
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x35c], ebx
jmp 0x4908f0
cmp eax, 3
jne case.0x48f5f2.1
mov dword [0x868dd4], 0x13
mov ecx, dword [esi + 0x35c]
cmp ecx, ebx
je 0x4908f0
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x35c], ebx
jmp 0x4908f0
mov ecx, dword [esi + 0x310]
cmp ecx, ebx
jne 0x491134
push 0x254
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x26
je 0x4910a2
mov ecx, eax
call fcn.005293b0
jmp 0x4910a4
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], edi
mov dword [esi + 0x310], eax
call fcn.005297a0
push 0x21fe604
push 0x71a9c8
call fcn.0041d3b0
mov eax, 0x21fe604
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4910d1
sub eax, edx
mov dword [esp + 0x30], eax
je 0x49110e
push 0xd2
call fcn.0041d4a0
add esp, 4
cmp eax, ebx
je case.0x48f5f2.2
mov ecx, dword [esi + 0x310]
push eax
push ebx
call fcn.00528b70
mov ecx, eax
call fcn.0052dbd0
jmp 0x48f53e
push 0x2718
call fcn.0041d4a0
mov ecx, dword [esi + 0x310]
add esp, 4
push eax
push ebx
call fcn.00528b70
mov ecx, eax
call fcn.0052dbd0
jmp 0x48f53e
call fcn.00528da0
mov ebx, eax
xor edi, edi
cmp ebx, edi
je 0x491189
mov dword [0x868dd4], edi
mov ecx, dword [esi + 0x310]
cmp ecx, edi
je 0x49115d
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x310], edi
xor eax, eax
mov al, bl
dec al
push eax
call fcn.00599720
add esp, 4
cmp ebx, 2
jne 0x4908f0
push 0x12c
push 7
call fcn.0041fce0
add esp, 8
jmp 0x4908f0
mov ecx, dword [esi + 0x310]
cmp ecx, edi
jmp 0x4908dd
mov ecx, dword [esi + 0x314]
cmp ecx, ebx
jne 0x49120d
push 0x254
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x27
je 0x4911c6
mov ecx, eax
call fcn.005293b0
jmp 0x4911c8
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], edi
mov dword [esi + 0x314], eax
call fcn.005297a0
push 0x14f7
call fcn.0041d4a0
mov ecx, dword [esi + 0x314]
add esp, 4
push eax
push 0x21fe604
push 0x6bc494
push ebx
call fcn.00528b70
push eax
call fcn.0052dff0
add esp, 0x10
jmp 0x48f53e
call fcn.00528da0
mov edi, eax
cmp edi, ebx
je 0x49126d
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x314]
cmp ecx, ebx
je 0x491234
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x314], ebx
cmp edi, 1
jne 0x491246
push ebx
call fcn.0059c0c0
push 0x14f9
jmp 0x491252
push 1
call fcn.0059c0c0
push 0x14f8
call fcn.0041d4a0
mov ecx, dword [0x7191d8]
add esp, 8
push eax
push 7
call fcn.0041f6b0
jmp 0x4908f0
mov ecx, dword [esi + 0x314]
jmp 0x4908db
mov ecx, dword [esi + 0x318]
cmp ecx, ebx
jne 0x4912ef
push 0x254
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x28
je 0x4912a8
mov ecx, eax
call fcn.005293b0
jmp 0x4912aa
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], edi
mov dword [esi + 0x318], eax
call fcn.005297a0
push 0x2719
call fcn.0041d4a0
mov ecx, dword [esi + 0x318]
add esp, 4
push eax
push 0x21fe604
push 0x6bc494
push ebx
call fcn.00528b70
push eax
call fcn.0052dff0
add esp, 0x10
jmp 0x48f53e
call fcn.00528da0
mov edi, eax
cmp edi, ebx
je 0x491344
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x318]
cmp ecx, ebx
je 0x491316
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x318], ebx
cmp edi, 1
jne 0x491329
push edi
call fcn.0059bb90
add esp, 4
jmp case.default.0x493726
push ebx
call fcn.0059bb90
push 0x1437
call fcn.0041d4a0
add esp, 8
push eax
push 7
jmp 0x48e43a
mov ecx, dword [esi + 0x318]
jmp 0x49148e
mov ecx, dword [esi + 0x31c]
cmp ecx, ebx
jne 0x491399
push 0x254
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x29
je 0x49137f
mov ecx, eax
call fcn.005293b0
jmp 0x491381
xor eax, eax
push 0x14
mov ecx, eax
mov dword [esp + 0x40], edi
mov dword [esi + 0x31c], eax
call fcn.005297a0
jmp 0x48f53e
call fcn.00528da0
mov edi, eax
cmp edi, ebx
je 0x491488
cmp dword [0x868dd4], ebp
jne 0x4913be
cmp edi, 1
sete cl
push ecx
call fcn.0059c120
jmp 0x4913ca
cmp edi, 1
sete dl
push edx
call fcn.0059c1b0
add esp, 4
cmp edi, 2
jne 0x4913fc
cmp dword [0x868dd4], ebp
jne 0x4913e1
push 0x1438
jmp 0x4913e6
push 0x14ba
call fcn.0041d4a0
mov ecx, dword [0x7191d8]
add esp, 4
push eax
push 7
call fcn.0041f6b0
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x31c]
cmp ecx, ebx
je case.default.0x493726
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x31c], ebx
jmp case.default.0x493726
mov ecx, dword [esi + 0x31c]
cmp ecx, ebx
jne 0x491483
push 0x254
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x2a
je 0x491451
mov ecx, eax
call fcn.005293b0
jmp 0x491453
xor eax, eax
push 0x15
mov ecx, eax
mov dword [esp + 0x40], edi
mov dword [esi + 0x31c], eax
call fcn.005297a0
mov ecx, dword [esi + 0x31c]
push 0x21fe604
push ebx
call fcn.00528b70
mov ecx, eax
call fcn.0052dbd0
jmp 0x48f53e
call fcn.00528da0
mov ecx, dword [esi + 0x31c]
cmp ecx, ebx
je case.0x48f5f2.2
call fcn.00528b50
test al, al
je case.0x48f5f2.2
jmp case.default.0x493726
mov ecx, dword [esi + 0x328]
cmp ecx, ebx
jne 0x49156d
mov ecx, dword [esi + 0x31c]
cmp ecx, ebx
je 0x4914cc
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x31c], ebx
push 0x12a8
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x2b
je 0x4914f2
mov ecx, eax
call fcn.00513260
jmp 0x4914f4
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x328], eax
je 0x493921
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebx
jne 0x491523
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x328]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x49155b
mov edx, dword [eax + 4]
sub edx, edi
push ebp
push edx
call fcn.00511360
jmp 0x48f53e
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.00511360
jmp 0x48f53e
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0xdc]
push eax
xor edx, edx
mov dl, byte [edi + 0xe0]
xor eax, eax
mov al, byte [edi + 0xe1]
push edx
push eax
call fcn.005122d0
test eax, eax
jne 0x4926ee
mov ecx, dword [esi + 0x328]
mov edx, dword [ecx]
call dword [edx + 4]
test eax, eax
je case.0x48f5f2.2
jmp case.default.0x493726
mov ecx, dword [esi + 0x32c]
cmp ecx, ebx
jne 0x4915f9
push 0x3cfc
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x2c
je 0x4915df
mov ecx, eax
call fcn.004da6a0
jmp 0x4915e1
xor eax, eax
push ebx
push ebx
mov ecx, eax
mov dword [esp + 0x44], edi
mov dword [esi + 0x32c], eax
call fcn.004d9c20
jmp 0x48f53e
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, ebx
je 0x491627
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x32c]
cmp ecx, ebx
je case.default.0x493726
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x32c], ebx
jmp case.default.0x493726
mov ecx, dword [esi + 0x32c]
cmp ecx, ebx
je case.0x48f5f2.2
call fcn.004da0b0
test al, al
je case.0x48f5f2.2
jmp case.default.0x493726
mov ecx, dword [esi + 0x334]
cmp ecx, ebx
jne 0x4916b3
push 0x3dec
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x2d
je 0x491677
mov ecx, eax
call fcn.004896f0
jmp 0x491679
xor eax, eax
push ebx
push ebx
mov ecx, eax
mov dword [esp + 0x44], edi
mov dword [esi + 0x334], eax
call fcn.004862e0
xor eax, eax
mov ax, word [0x86de2c]
xor ecx, ecx
mov cl, byte [0x86de30]
push eax
push ecx
mov ecx, dword [esi + 0x334]
push 0x21fe66c
call fcn.00486860
jmp 0x48f53e
mov edx, dword [ecx]
call dword [edx + 4]
mov edi, eax
cmp edi, 2
je 0x4916c9
cmp edi, 3
je 0x4916c9
cmp edi, 4
jne 0x4916f6
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x334]
cmp ecx, ebx
je 0x4916e5
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x334], ebx
cmp edi, 4
jne 0x4916f6
mov byte [0x71cf90], 8
jmp case.default.0x493726
mov ecx, dword [esi + 0x334]
cmp ecx, ebx
je 0x49170d
call fcn.004867d0
test al, al
jne case.0x48f5f2.1
cmp edi, 1
jg case.0x48f5f2.1
cmp edi, 0x64
jne case.0x48f5f2.2
jmp case.default.0x493726
mov eax, dword [0x21fe5cc]
cmp eax, 2
mov edx, dword [0x85cfbc]
jne 0x49175e
cmp dword [edx + 0xdc], 7
je 0x49175e
mov ecx, dword [esi + 0x33c]
cmp ecx, ebx
je 0x491753
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x33c], ebx
mov dword [0x868dd4], ebx
jmp 0x48f53e
mov ecx, dword [esi + 0x33c]
cmp ecx, ebx
jne 0x49183b
cmp eax, ebx
jne 0x491791
cmp dword [edx + 0xdc], 7
jne 0x48f53e
call fcn.0059be10
mov dword [0x21fe5cc], 1
jmp 0x48f53e
cmp eax, 2
jne 0x48f53e
push 0x1290
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x2e
je 0x4917c0
mov ecx, eax
call fcn.004ed5b0
jmp 0x4917c2
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x33c], eax
je 0x493921
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebx
jne 0x4917f1
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x33c]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x491829
mov edx, dword [eax + 4]
sub edx, edi
push ebp
push edx
call fcn.004ebab0
jmp 0x48f53e
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004ebab0
jmp 0x48f53e
mov eax, dword [esi + 0x160]
push eax
call fcn.004ec470
cmp eax, 2
jne 0x491fab
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x33c]
cmp ecx, ebx
je case.default.0x493726
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x33c], ebx
jmp case.default.0x493726
mov ecx, dword [esi + 0x340]
cmp ecx, ebx
jne 0x491924
push 0xcb4
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x2f
je 0x4918a9
mov ecx, eax
call fcn.004ed880
jmp 0x4918ab
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x340], eax
je 0x493921
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebx
jne 0x4918da
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x340]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x491912
mov edx, dword [eax + 4]
sub edx, edi
push ebp
push edx
call fcn.004ec0b0
jmp 0x48f53e
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004ec0b0
jmp 0x48f53e
mov eax, dword [esi + 0x160]
push eax
call fcn.004ecf70
cmp eax, 2
jne 0x491fab
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x340]
cmp ecx, ebx
je case.default.0x493726
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x340], ebx
jmp case.default.0x493726
mov ecx, dword [esi + 0x344]
cmp ecx, ebx
jne 0x4919ca
push 0x25c8
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x30
je 0x49198e
mov ecx, eax
call fcn.0051a330
jmp 0x491990
xor eax, eax
push ebx
push ebx
mov ecx, eax
mov dword [esp + 0x44], edi
mov dword [esi + 0x344], eax
call fcn.00518ec0
xor eax, eax
mov ax, word [0x86de2c]
xor ecx, ecx
mov cl, byte [0x86de30]
push eax
push ecx
mov ecx, dword [esi + 0x344]
push 0x21fe66c
call fcn.005194f0
jmp 0x48f53e
mov edx, dword [ecx]
call dword [edx + 4]
mov edi, eax
cmp edi, 2
jne 0x4919fb
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x344]
cmp ecx, ebx
je case.default.0x493726
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x344], ebx
jmp case.default.0x493726
mov ecx, dword [esi + 0x344]
cmp ecx, ebx
je 0x491a12
call fcn.00519450
test al, al
jne case.0x48f5f2.1
cmp edi, 1
jle case.0x48f5f2.2
jmp case.default.0x493726
mov ecx, dword [esi + 0x348]
cmp ecx, ebx
jne 0x491b01
push 0x35e8
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x31
je 0x491a54
mov ecx, eax
call fcn.00481200
jmp 0x491a56
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x348], eax
je 0x493921
mov ecx, dword [esi + 0x160]
cmp dword [ecx + 0x20], ebx
jne 0x491a85
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.0048c040
mov edi, dword [esi + 0x160]
mov eax, dword [esi + 0x348]
mov ebp, dword [eax + 0xc]
mov ecx, dword [edi + 4]
sub ecx, ebp
mov ebx, dword [edi + 8]
js 0x491ac3
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x348]
sub eax, ebp
push ebx
push eax
call fcn.00480a00
jmp case.0x48f5f2.2
mov ecx, dword [edi + 0xc]
mov edx, dword [0x70859c]
sub edx, ecx
sub edx, ebp
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fmul dword [0x6bc860]
call fcn.005cd414
test eax, eax
jge 0x491ae9
xor eax, eax
lea ecx, [eax + ebp]
push ebx
mov dword [edi + 4], ecx
mov ecx, dword [esi + 0x348]
push eax
call fcn.00480a00
jmp case.0x48f5f2.2
mov edx, dword [esi + 0x160]
push edx
call fcn.0047f400
cmp eax, ebx
je 0x491b3b
cmp eax, 2
jne 0x491b3b
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x348]
cmp ecx, ebx
je case.default.0x493726
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x348], ebx
jmp case.default.0x493726
mov ecx, dword [esi + 0x348]
cmp ecx, ebx
je case.0x48f5f2.2
call fcn.0047f090
test al, al
je case.0x48f5f2.2
jmp case.default.0x493726
mov ecx, dword [esi + 0x360]
cmp ecx, ebx
jne 0x491c0a
push 0x91c
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x32
je 0x491b8f
mov ecx, eax
call fcn.004a8170
jmp 0x491b91
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x360], eax
je 0x493921
mov ecx, dword [esi + 0x160]
cmp dword [ecx + 0x20], ebx
jne 0x491bc0
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov edx, dword [esi + 0x160]
push edx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x360]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x491bf8
mov edx, dword [eax + 4]
sub edx, edi
push ebp
push edx
call fcn.004a7740
jmp 0x48f53e
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.004a7740
jmp 0x48f53e
mov eax, dword [esi + 0x160]
push eax
call fcn.004a7f40
cmp eax, ebx
je case.0x48f5f2.2
cmp eax, 2
jne case.default.0x493726
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x360]
cmp ecx, ebx
je case.default.0x493726
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x360], ebx
jmp case.default.0x493726
mov ecx, dword [esi + 0x34c]
cmp ecx, ebx
jne 0x491d13
push 0x80c
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x33
je 0x491c80
mov ecx, eax
call fcn.00460480
jmp 0x491c82
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x34c], eax
je 0x493921
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebx
jne 0x491cb1
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x34c]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x491cdf
mov edx, dword [eax + 4]
sub edx, edi
jmp 0x491ce5
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.0045fad0
xor eax, eax
mov ax, word [0x86de2c]
xor ecx, ecx
mov cl, byte [0x86de30]
push eax
push ecx
mov ecx, dword [esi + 0x34c]
push 0x21fe66c
call fcn.0045fc00
jmp 0x48f53e
mov edx, dword [esi + 0x160]
push edx
call fcn.0045fc50
cmp eax, ebx
je case.0x48f5f2.2
cmp eax, 2
jne case.default.0x493726
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x34c]
cmp ecx, ebx
je case.default.0x493726
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x34c], ebx
jmp case.default.0x493726
mov ecx, dword [esi + 0x350]
cmp ecx, ebx
jne 0x491e1a
mov ecx, dword [esi + 0x35c]
cmp ecx, ebx
je 0x491d79
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x35c], ebx
push 0x6fc
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x34
je 0x491d9f
mov ecx, eax
call fcn.00499580
jmp 0x491da1
xor eax, eax
cmp eax, ebx
mov dword [esp + 0x3c], edi
mov dword [esi + 0x350], eax
je 0x493921
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebx
jne 0x491dd0
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.0048c040
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x350]
mov edi, dword [ecx + 0xc]
mov edx, dword [eax + 4]
sub edx, edi
mov ebp, dword [eax + 8]
js 0x491e08
mov edx, dword [eax + 4]
sub edx, edi
push ebp
push edx
call fcn.00498c00
jmp 0x48f53e
mov edx, dword [eax + 0xc]
add edx, dword [eax + 4]
push ebp
push edx
call fcn.00498c00
jmp 0x48f53e
mov eax, dword [esi + 0x160]
push eax
call fcn.00498fb0
cmp eax, ebx
je case.0x48f5f2.2
cmp eax, 2
jne case.default.0x493726
mov ecx, dword [0x7191d4]
mov edx, dword [ecx]
push 0x38
call dword [edx + 4]
test al, al
jne 0x491e52
mov dword [0x868dd4], 0
mov ecx, dword [esi + 0x350]
cmp ecx, ebx
je case.default.0x493726
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x350], ebx
jmp case.default.0x493726
mov ecx, dword [esi + 0x358]
cmp ecx, ebx
jne 0x491ea6
push 0x40c8
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x35
je 0x491f1b
push ebx
mov ecx, eax
call fcn.00463680
jmp 0x491f1d
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, 2
jne 0x491fab
mov ecx, dword [esi + 0x184]
cmp ecx, ebx
je 0x491ec4
mov eax, dword [ecx]
push ebx
call dword [eax + 0x14]
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x358]
cmp ecx, ebx
je case.default.0x493726
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x358], ebx
jmp case.default.0x493726
mov ecx, dword [esi + 0x358]
cmp ecx, ebx
jne 0x491f6c
push 0x40c8
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x36
je 0x491f1b
push 1
mov ecx, eax
call fcn.00463680
jmp 0x491f1d
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x358], eax
mov cl, byte [0x868d94]
xor edx, edx
mov dl, byte [0x867d91]
mov dword [esp + 0x3c], edi
push ecx
xor ecx, ecx
mov cl, byte [0x867d90]
push edx
xor edx, edx
mov dl, byte [0x867d8f]
push ecx
mov ecx, eax
push edx
call fcn.00462d50
mov ecx, dword [esi + 0x184]
cmp ecx, ebx
je case.0x48f5f2.2
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
jmp 0x48f53e
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, 2
jne 0x491fab
mov ecx, dword [esi + 0x184]
cmp ecx, ebx
je 0x491f86
mov eax, dword [ecx]
push ebx
call dword [eax + 0x14]
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x358]
cmp ecx, ebx
je case.default.0x493726
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x358], ebx
jmp case.default.0x493726
cmp eax, ebx
je case.0x48f5f2.2
jmp case.default.0x493726
mov ecx, dword [esi + 0x324]
cmp ecx, ebx
jne 0x492023
push 0x254
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x37
je 0x491fe8
mov ecx, eax
call fcn.005293b0
jmp 0x491fea
xor eax, eax
push 4
mov ecx, eax
mov dword [esp + 0x40], edi
mov dword [esi + 0x324], eax
call fcn.005297a0
push 0x2774
call fcn.0041d4a0
mov ecx, dword [esi + 0x324]
add esp, 4
push eax
push ebx
call fcn.00528b70
mov ecx, eax
call fcn.0052dbd0
jmp 0x48f53e
call fcn.00528da0
mov edi, eax
cmp edi, ebx
je 0x492072
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x324]
cmp ecx, ebx
je 0x49204a
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x324], ebx
cmp edi, 1
jne case.default.0x493726
xor ecx, ecx
mov cl, byte [0x86de29]
xor edx, edx
mov dl, byte [0x86de28]
push ecx
push edx
call fcn.00598b80
add esp, 8
jmp case.default.0x493726
mov esi, dword [esi + 0x324]
cmp esi, ebx
je case.0x48f5f2.1
mov ecx, esi
call fcn.00528b50
jmp case.0x48f5f2.1
mov ecx, dword [esi + 0x26f4]
cmp ecx, ebx
jne 0x4920d1
push 0x1e88
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x38
je 0x4920bc
mov ecx, eax
call fcn.00459c30
jmp 0x4920be
xor eax, eax
mov ecx, eax
mov dword [esp + 0x3c], edi
mov dword [esi + 0x26f4], eax
call fcn.00459e70
jmp 0x492145
mov eax, dword [ecx]
call dword [eax + 4]
dec eax
jne case.default.0x493726
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x26f4]
cmp ecx, ebx
je case.default.0x493726
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x26f4], ebx
jmp case.default.0x493726
mov ecx, dword [esi + 0x26f8]
cmp ecx, ebx
jne 0x492161
push 0x2b08
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x39
je 0x492132
mov ecx, eax
call fcn.004b4650
jmp 0x492134
xor eax, eax
mov ecx, eax
mov dword [esp + 0x3c], edi
mov dword [esi + 0x26f8], eax
call fcn.004af470
push 0x447a0000
push 0x22094c8
push 0x20
push ebx
mov ecx, 0x22071e0
call fcn.0053b0e0
jmp 0x48f53e
mov eax, dword [esi + 0x160]
push eax
call fcn.004b47f0
cmp eax, ebx
je case.0x48f5f2.2
add eax, 0xfffffffe
cmp eax, 0xa
ja case.default.0x493726
movzx ecx, byte [eax + 0x493e34]
jmp dword [ecx*4 + 0x493e1c]
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x26f8]
cmp ecx, ebx
je case.default.0x493726
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x26f8], ebx
jmp case.default.0x493726
mov ecx, dword [esi + 0x26f8]
call fcn.004af8a0
jmp case.default.0x493726
mov ecx, dword [esi + 0x26f8]
call fcn.004af8e0
jmp case.default.0x493726
mov eax, dword [esi + 0x160]
cmp dword [eax + 0x20], ebx
jne 0x4921f1
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.004f4210
mov dword [edi + 0x20], 1
mov ecx, dword [esi + 0x160]
push ecx
mov ecx, esi
call fcn.0048c040
jmp case.default.0x493726
mov ecx, dword [esi + 0x26f8]
call fcn.004b2030
mov esi, eax
cmp esi, ebx
je case.default.0x493726
cmp dword [esi + 0x172], ebx
jne case.default.0x493726
mov edx, dword [esi + 4]
mov eax, dword [esi]
push edx
push eax
call fcn.0059ced0
mov ecx, dword [esi + 4]
mov edx, dword [esi]
add esp, 8
push ecx
push edx
mov ecx, 0x8655e8
call fcn.004d0d10
jmp case.default.0x493726
mov ecx, dword [esi + 0x26fc]
cmp ecx, ebx
jne 0x492292
push 0x11cc
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x3a
je 0x49227a
mov ecx, eax
call fcn.004b5550
jmp 0x49227c
xor eax, eax
mov ecx, eax
mov dword [esp + 0x3c], edi
mov dword [esi + 0x26fc], eax
call fcn.004b4f60
jmp 0x492145
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, ebx
je case.default.0x493726
sub eax, 2
je 0x4922ad
dec eax
jne case.default.0x493726
jmp 0x4922dd
mov eax, dword [esi + 0x26fc]
mov ecx, dword [eax + 0x11c4]
add ecx, 0x20
push ecx
call fcn.006aa4fe
xor edx, edx
mov dl, byte [0x86de29]
xor ecx, ecx
mov cl, byte [0x86de28]
push edx
push ecx
push eax
call fcn.0059cae0
add esp, 0x10
mov dword [0x868dd4], ebx
mov ecx, dword [esi + 0x26fc]
cmp ecx, ebx
je case.default.0x493726
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x26fc], ebx
jmp case.default.0x493726
mov edi, dword [esi + 0x388]
cmp edi, ebx
je 0x492322
mov ecx, edi
call fcn.004c5470
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x388], ebx
push 0xc48
call fcn.005cc96d
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
cmp edi, ebx
mov dword [esp + 0x3c], 0x3b
je 0x49236e
push 0x1be6
call fcn.0041d4a0
add esp, 4
push eax
push ebx
push 0xff
push 0xff
push 1
mov ecx, edi
call fcn.004c4d10
mov dword [esi + 0x388], eax
jmp case.default.0x493726
xor eax, eax
mov dword [esi + 0x388], eax
jmp case.default.0x493726
mov ecx, dword [esi + 0x184]
cmp ecx, ebx
je 0x492393
cmp dword [esi + 0x358], ebx
je 0x492393
mov eax, dword [ecx]
push ebx
call dword [eax + 0x14]
mov ecx, esi
call fcn.00422c40
cmp dword [0x21fed2c], ebx
jbe case.0x48f5f2.2
mov dword [0x21fed2c], ebx
jmp 0x48f53e
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 4]
mov ecx, dword [esi + 0x188]
push ecx
mov ecx, esi
call fcn.0048c040
jmp case.default.0x493726
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x20], ebx
je 0x49248b
mov dl, byte [eax + 0x4d]
cmp dl, 0xff
je 0x49248b
mov eax, dword [eax + 4]
mov ecx, dword [0x71c2a4]
cmp ecx, eax
mov edi, dword [esp + 0x18]
jl 0x49241d
mov edi, dword [edi + 0xc]
add edi, eax
cmp ecx, edi
mov edi, dword [esp + 0x18]
jg 0x49241d
mov eax, dword [edi + 8]
mov ecx, dword [0x71c2a8]
cmp ecx, eax
jl 0x49241d
mov edi, dword [edi + 0x10]
add edi, eax
cmp ecx, edi
mov edi, dword [esp + 0x18]
jle 0x492471
push ebx
push edx
xor edx, edx
mov dl, byte [edi + 0x4c]
mov ecx, ebp
push edx
call fcn.004de5c0
test eax, eax
je 0x492434
mov byte [edi + 0x4d], 0xff
xor eax, eax
mov al, byte [edi + 0x4d]
xor ecx, ecx
mov cl, byte [edi + 0x4c]
push ebx
push eax
push ecx
mov ecx, dword [esp + 0x2c]
call fcn.004e6110
test eax, eax
jne 0x492468
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov dl, byte [edi + 0x4d]
xor eax, eax
mov al, byte [edi + 0x4c]
push ebx
push edx
push eax
call fcn.004dd2c0
test eax, eax
je 0x492471
mov byte [edi + 0x4d], 0xff
jmp case.default.0x493726
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
mov eax, dword [esi + 0x18c]
push eax
mov ecx, esi
call fcn.0048c040
jmp case.default.0x493726
mov edi, dword [esp + 0x20]
cmp dword [edi + 0x20], ebx
je 0x492534
mov dl, byte [edi + 0x7c]
cmp dl, 0xff
je 0x492534
cmp dword [edi + 0x140], ebx
je 0x492534
mov eax, dword [edi + 4]
mov ecx, dword [0x71c2a4]
cmp ecx, eax
jl 0x4924dc
mov ebx, dword [edi + 0xc]
add ebx, eax
cmp ecx, ebx
jg 0x4924dc
mov eax, dword [edi + 8]
mov ecx, dword [0x71c2a8]
cmp ecx, eax
jl 0x4924dc
mov ebx, dword [edi + 0x10]
add ebx, eax
cmp ecx, ebx
jle 0x49251a
xor ecx, ecx
mov cl, byte [edi + 0x138]
push 1
push edx
push ecx
mov ecx, ebp
call fcn.004de5c0
test eax, eax
jne 0x492511
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dl, byte [edi + 0x7c]
xor eax, eax
mov al, byte [edi + 0x138]
push 1
push edx
push eax
call fcn.004de5c0
test eax, eax
je 0x49251a
mov byte [edi + 0x7c], 0xff
jmp case.default.0x493726
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
mov eax, dword [esi + 0x190]
push eax
mov ecx, esi
call fcn.0048c040
jmp case.default.0x493726
mov edi, dword [esp + 0x1c]
cmp dword [edi + 0x20], ebx
je 0x4925d2
mov dl, byte [edi + 0xec]
cmp dl, 0xff
je 0x4925d2
mov eax, dword [edi + 4]
mov ecx, dword [0x71c2a4]
cmp ecx, eax
jl 0x492584
mov edi, dword [edi + 0xc]
add edi, eax
cmp ecx, edi
mov edi, dword [esp + 0x1c]
jg 0x492584
mov eax, dword [edi + 8]
mov ecx, dword [0x71c2a8]
cmp ecx, eax
jl 0x492584
mov edi, dword [edi + 0x10]
add edi, eax
cmp ecx, edi
mov edi, dword [esp + 0x1c]
jle 0x4925b8
push 2
push edx
push ebx
mov ecx, ebp
call fcn.004de5c0
test eax, eax
jne 0x4925ac
xor ecx, ecx
mov cl, byte [edi + 0xec]
push 2
push ecx
mov ecx, dword [esp + 0x20]
push ebx
call fcn.004de5c0
test eax, eax
je 0x4925b8
mov byte [edi + 0xec], 0xff
jmp case.default.0x493726
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
mov eax, dword [esi + 0x194]
push eax
mov ecx, esi
call fcn.0048c040
jmp case.default.0x493726
mov edi, dword [esp + 0x14]
cmp dword [edi + 0x20], ebx
je 0x492714
mov dl, byte [edi + 0xe0]
cmp dl, 0xff
je 0x492714
mov eax, dword [edi + 4]
mov ecx, dword [0x71c2a4]
cmp ecx, eax
jl 0x492622
mov ebp, dword [edi + 0xc]
add ebp, eax
cmp ecx, ebp
jg 0x49261e
mov eax, dword [edi + 8]
mov ecx, dword [0x71c2a8]
cmp ecx, eax
jl 0x49261e
mov ebp, dword [edi + 0x10]
add ebp, eax
cmp ecx, ebp
jle 0x4926fa
mov ebp, dword [esp + 0x28]
cmp dword [edi + 0xdc], ebx
push edx
je 0x49267d
push ebx
mov ecx, ebp
call fcn.004de330
test eax, eax
jne 0x4926ee
xor ecx, ecx
mov cl, byte [edi + 0xe0]
push ecx
mov ecx, dword [esp + 0x1c]
push ebx
call fcn.004de330
test eax, eax
jne 0x4926ee
mov ecx, dword [esp + 0x20]
xor edx, edx
mov dl, byte [edi + 0xe0]
push edx
push ebx
call fcn.004e6320
test eax, eax
jne 0x4926ee
xor eax, eax
mov al, byte [edi + 0xe0]
push eax
push ebx
jmp 0x4926e1
xor ecx, ecx
mov cl, byte [edi + 0xe1]
push ecx
mov ecx, ebp
call fcn.004de330
test eax, eax
jne 0x4926ee
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dl, byte [edi + 0xe0]
xor eax, eax
mov al, byte [edi + 0xe1]
push edx
push eax
call fcn.004de330
test eax, eax
jne 0x4926ee
xor ecx, ecx
mov cl, byte [edi + 0xe0]
xor edx, edx
mov dl, byte [edi + 0xe1]
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.004e6320
test eax, eax
jne 0x4926ee
xor eax, eax
mov al, byte [edi + 0xe0]
xor ecx, ecx
mov cl, byte [edi + 0xe1]
push eax
push ecx
mov ecx, dword [esp + 0x24]
call fcn.004dd4b0
test eax, eax
je 0x4926fa
mov byte [edi + 0xe0], 0xff
jmp case.default.0x493726
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
mov eax, dword [esi + 0x160]
push eax
mov ecx, esi
call fcn.0048c040
jmp case.default.0x493726
mov edi, dword [esp + 0x24]
cmp dword [edi + 0x20], ebx
je 0x4927ec
mov dl, byte [edi + 0xe7]
cmp dl, 0xff
je 0x4927ec
mov eax, dword [edi + 4]
mov ecx, dword [0x71c2a4]
cmp ecx, eax
jl 0x492760
mov ebp, dword [edi + 0xc]
add ebp, eax
cmp ecx, ebp
jg 0x49275c
mov eax, dword [edi + 8]
mov ecx, dword [0x71c2a8]
cmp ecx, eax
jl 0x49275c
mov ebp, dword [edi + 0x10]
add ebp, eax
cmp ecx, ebp
jle 0x4927aa
mov ebp, dword [esp + 0x28]
push edx
push 0x64
mov ecx, ebp
call fcn.004de330
test eax, eax
jne 0x49279e
xor ecx, ecx
mov cl, byte [edi + 0xe7]
push ecx
mov ecx, dword [esp + 0x1c]
push 0x64
call fcn.004de330
test eax, eax
jne 0x49279e
mov ecx, dword [esp + 0x20]
xor edx, edx
mov dl, byte [edi + 0xe7]
push edx
push 0x64
call fcn.004e6320
test eax, eax
je 0x4927aa
mov byte [edi + 0xe7], 0xff
jmp case.default.0x493726
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esi + 0x164]
push ecx
mov ecx, esi
call fcn.0048c040
mov edi, dword [esi + 0x168]
cmp edi, ebx
je 0x493921
cmp dword [edi + 0x20], ebx
je case.default.0x493726
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
push edi
mov ecx, esi
call fcn.0048c040
jmp case.default.0x493726
mov edi, dword [esp + 0x2c]
cmp dword [edi + 0x20], ebx
je 0x492898
mov dl, byte [edi + 0xdc]
cmp dl, 0xff
je 0x492898
mov eax, dword [edi + 4]
mov ecx, dword [0x71c2a4]
cmp ecx, eax
jl 0x492834
mov ebx, dword [edi + 0xc]
add ebx, eax
cmp ecx, ebx
jg 0x492834
mov eax, dword [edi + 8]
mov ecx, dword [0x71c2a8]
cmp ecx, eax
jl 0x492834
mov ebx, dword [edi + 0x10]
add ebx, eax
cmp ecx, ebx
jle 0x49287e
push edx
push 0x65
mov ecx, ebp
call fcn.004de330
test eax, eax
jne 0x492872
mov ecx, dword [esp + 0x18]
xor eax, eax
mov al, byte [edi + 0xdc]
push eax
push 0x65
call fcn.004de330
test eax, eax
jne 0x492872
xor ecx, ecx
mov cl, byte [edi + 0xdc]
push ecx
mov ecx, dword [esp + 0x24]
push 0x65
call fcn.004e6320
test eax, eax
je 0x49287e
mov byte [edi + 0xdc], 0xff
jmp case.default.0x493726
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
mov eax, dword [esi + 0x16c]
push eax
mov ecx, esi
call fcn.0048c040
jmp case.default.0x493726
mov ecx, dword [esi + 0x378]
cmp ecx, ebx
je 0x4931d0
call fcn.0047e960
mov ebp, eax
cmp ebp, ebx
jl 0x4931b9
cmp ebp, 0x64
jg 0x492b10
je 0x492a5e
cmp ebp, 9
ja case.default.0x4928cd
jmp dword [ebp*4 + 0x493e40]
mov ecx, dword [esi + 0x378]
mov edx, dword [ecx + 0x18]
push edx
call fcn.00599540
mov eax, dword [esi + 0x378]
mov eax, dword [eax + 0x18]
add esp, 4
push eax
mov ecx, 0x71d0f0
call fcn.00447a40
cmp eax, ebx
je 0x493189
mov cl, byte [eax + 0x282]
cmp cl, byte [0x21fd8d6]
jne 0x493189
add eax, 0xf0
push eax
push 0x71a9c8
call fcn.0041d3b0
push 0xcb
push 7
call fcn.0041fce0
add esp, 0x10
jmp 0x493189
mov edx, dword [esi + 0x378]
mov eax, dword [edx + 0x18]
push eax
call fcn.005995e0
mov ecx, dword [esi + 0x378]
mov eax, dword [ecx + 0x18]
add esp, 4
push eax
mov ecx, 0x71d0f0
call fcn.00447a40
cmp eax, ebx
je 0x493189
mov dl, byte [eax + 0x282]
cmp dl, byte [0x21fd8d6]
jne 0x493189
add eax, 0xf0
push eax
push 0x71a9c8
call fcn.0041d3b0
push 0x12d
push 7
call fcn.0041fce0
add esp, 0x10
jmp 0x493189
mov eax, dword [esi + 0x378]
mov ecx, dword [eax + 0x18]
push ecx
call fcn.00599610
mov edx, dword [esi + 0x378]
mov eax, dword [edx + 0x18]
add esp, 4
push eax
mov ecx, 0x71d0f0
call fcn.00447a40
cmp eax, ebx
je 0x493189
mov cl, byte [eax + 0x282]
cmp cl, byte [0x21fd8d6]
jne 0x493189
add eax, 0xf0
push eax
push 0x71a9c8
call fcn.0041d3b0
push 0x12e
push 7
call fcn.0041fce0
add esp, 0x10
jmp 0x493189
call fcn.005995b0
push 0x166
push 7
call fcn.0041fce0
add esp, 8
jmp 0x493189
mov edx, dword [esi + 0x378]
mov eax, dword [edx + 0x18]
push eax
mov ecx, 0x71d0f0
call fcn.00447a40
cmp eax, ebx
je 0x493189
mov al, byte [eax + 0x282]
cmp al, byte [0x21fd8d6]
jne 0x493189
mov ecx, dword [esi + 0x378]
mov edx, dword [ecx + 0x18]
push edx
call fcn.0059c180
add esp, 4
jmp 0x493189
mov ebp, dword [esi + 0x184]
mov ecx, 0x21fd7c4
xor edi, edi
call fcn.0048d560
test eax, eax
jle 0x492ab9
push edi
mov ecx, 0x21fd7c4
call fcn.004bf5f0
cmp eax, ebx
je 0x492aaa
mov ecx, dword [esi + 0x378]
mov edx, dword [eax]
cmp edx, dword [ecx + 0x18]
jne 0x492aaa
add eax, 4
mov ecx, ebp
sub ecx, eax
lea edx, [ecx + 0x190]
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x492aa0
mov ecx, 0x21fd7c4
inc edi
call fcn.0048d560
cmp edi, eax
jl 0x492a74
mov edx, dword [esi + 0x378]
mov eax, dword [edx + 0x18]
push eax
mov ecx, 0x71d0f0
call fcn.00447a40
cmp eax, ebx
je 0x492afa
mov cl, byte [eax + 0x282]
cmp cl, byte [0x21fd8d6]
jne 0x492afa
add eax, 0xf0
mov edx, ebp
sub edx, eax
add edx, 0x190
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x492af0
mov ecx, ebp
mov dword [ebp + 0x18c], 1
call fcn.0046e300
jmp 0x493189
jmp 0x2261c40
cmp dword [0x868dd4], ebx
jne case.default.0x4928cd
mov eax, dword [esi + 0x378]
mov ecx, dword [eax + 0x18]
push ecx
call fcn.0059bf90
add esp, 4
jmp case.default.0x4928cd
mov edx, dword [esi + 0x378]
mov eax, dword [edx + 0x18]
push eax
mov ecx, 0x71d0f0
call fcn.00447a40
test eax, eax
je case.default.0x4928cd
mov eax, dword [esi + 0x378]
mov ecx, dword [eax + 0x18]
push ecx
call fcn.0059c0f0
add esp, 4
jmp case.default.0x4928cd
mov edx, dword [esi + 0x378]
mov eax, dword [edx + 0x18]
push eax
call fcn.005996f0
mov ecx, dword [esi + 0x378]
mov eax, dword [ecx + 0x18]
add esp, 4
push eax
mov ecx, 0x71d0f0
call fcn.00447a40
cmp eax, ebx
je case.default.0x4928cd
mov dl, byte [eax + 0x282]
cmp dl, byte [0x21fd8d6]
jne case.default.0x4928cd
add eax, 0xf0
push eax
push 0x71a9c8
call fcn.0041d3b0
push 0xd1
jmp 0x493173
mov eax, dword [esi + 0x378]
mov eax, dword [eax + 0x18]
push eax
mov ecx, 0x71d0f0
call fcn.00447a40
cmp eax, ebx
je case.default.0x4928cd
mov cl, byte [eax + 0x282]
cmp cl, byte [0x21fd8d6]
jne case.default.0x4928cd
mov eax, dword [0x85cfbc]
cmp eax, ebx
je case.default.0x4928cd
mov edx, dword [eax + 0x16c]
push edx
mov ecx, 0x71d0f0
call fcn.00447a40
cmp eax, ebx
je case.default.0x4928cd
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 [0x85cfbc]
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, 0x71d0f0
call fcn.00438010
test eax, eax
je case.default.0x4928cd
mov edx, dword [esi + 0x378]
mov eax, dword [edx + 0x18]
push eax
call fcn.0059c090
add esp, 4
jmp case.default.0x4928cd
mov ecx, dword [esi + 0x2e4]
cmp ecx, ebx
je 0x492cd9
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x2e4], ebx
mov eax, dword [0x85cfbc]
mov ecx, dword [eax + 0x16c]
push ecx
mov ecx, 0x71d0f0
call fcn.00447a40
mov edi, eax
cmp edi, ebx
je case.default.0x4928cd
mov eax, dword [0x8666d8]
mov edx, dword [edi + 0x34]
push eax
mov ecx, 0x71d0f0
mov dword [0x21fdf18], edx
call fcn.00447a40
cmp eax, ebx
je case.default.0x4928cd
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 [0x6bca1c]
fnstsw ax
test ah, 0x41
jne 0x492d65
push 0xe9
push 0x11
call fcn.0041fce0
add esp, 8
jmp case.default.0x4928cd
mov ecx, dword [edi + 0x34]
push ecx
call fcn.0059b6b0
add esp, 4
jmp case.default.0x4928cd
push 7
call fcn.0041fce0
add esp, 0x10
cmp ebp, 0x3e8
je case.default.0x493726
mov byte [0x21fd765], 0
mov edi, dword [esi + 0x378]
cmp edi, ebx
je case.default.0x493726
mov ecx, edi
call fcn.0047e0d0
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x378], ebx
jmp case.default.0x493726
mov ecx, dword [esi + 0x378]
cmp ecx, ebx
je 0x4931d0
call fcn.0047ddc0
test al, al
jne case.0x48f5f2.1
cmp byte [0x21fd765], 1
jne 0x4932bc
mov edi, dword [esi + 0x378]
cmp edi, ebx
je 0x4931fd
mov ecx, edi
call fcn.0047e0d0
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x378], ebx
push 0x68
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x3d
je 0x493220
mov ecx, eax
call fcn.0047e0b0
jmp 0x493222
xor eax, eax
mov dword [esi + 0x378], eax
mov cl, byte [0x21fd8bc]
test cl, cl
mov dword [esp + 0x3c], 0xffffffff
je 0x493267
mov ecx, dword [0x86de1c]
mov edx, dword [0x21fd8c8]
push ecx
mov ecx, dword [0x71c2a8]
push edx
mov edx, dword [0x71c2a4]
add ecx, 0xfffffff6
push ecx
add edx, 0xfffffff6
push edx
push 3
mov ecx, eax
call fcn.0047ebe0
jmp 0x49328a
mov ecx, dword [0x71c2a8]
mov edx, dword [0x71c2a4]
push ebx
add ecx, 0xfffffff6
push ecx
mov ecx, dword [0x86de1c]
add edx, 0xfffffff6
push edx
push ecx
mov ecx, eax
call fcn.0047e1e0
test eax, eax
jne 0x4932b5
mov byte [0x21fd765], al
mov edi, dword [esi + 0x378]
cmp edi, ebx
je 0x4932bc
mov ecx, edi
call fcn.0047e0d0
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x378], ebx
jmp 0x4932bc
mov byte [0x21fd765], 2
mov ecx, dword [esi + 0x26f0]
cmp ecx, ebx
je 0x4932ea
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, ebx
je 0x4932ea
cmp eax, 2
jne case.default.0x493726
mov eax, dword [esi + 0x26f0]
mov byte [eax + 0x614], 0
jmp case.default.0x493726
xor ebp, ebp
lea eax, [esi + 0x1a8]
mov dword [esp + 0x20], ebp
mov ebx, eax
jmp 0x493300
mov ecx, dword [ebx]
test ecx, ecx
je 0x4933f3
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x2c], ecx
je 0x4933f3
mov eax, dword [ebx]
cmp eax, dword [esi + 0x160]
je 0x4934a2
cmp eax, dword [esi + 0x17c]
jne 0x49355a
cmp ecx, 2
jne 0x49355a
mov edi, dword [esi + 0x378]
test edi, edi
je 0x493364
mov ecx, edi
call fcn.0047e0d0
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x378], 0
push 0x68
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov dword [esp + 0x3c], 0x3e
je 0x493387
mov ecx, eax
call fcn.0047e0b0
jmp 0x493389
xor eax, eax
mov dword [esi + 0x378], eax
mov ecx, dword [0x21fd8c8]
mov edx, dword [0x71c2a8]
push 0
push ecx
mov ecx, dword [0x71c2a4]
add edx, 0xfffffff6
push edx
add ecx, 0xfffffff6
push ecx
push 1
mov ecx, eax
mov dword [esp + 0x50], 0xffffffff
call fcn.0047ebe0
test eax, eax
jne 0x4933ec
mov byte [0x21fd765], al
mov edi, dword [esi + 0x378]
test edi, edi
je 0x4933f3
mov ecx, edi
call fcn.0047e0d0
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x378], 0
jmp 0x4933f3
mov byte [0x21fd765], 2
inc ebp
add ebx, 4
cmp ebp, 0x24
jl 0x493300
mov eax, dword [0x21fd8c8]
test eax, eax
mov dword [esp + 0x20], ebp
je 0x493420
mov ecx, dword [esi + 0x36c]
call fcn.005137c0
test al, al
jne case.0x48f5f2.1
mov eax, dword [0x21fd8c0]
xor ebx, ebx
cmp eax, ebx
je 0x49343e
mov ecx, dword [esi + 0x368]
call fcn.00513b00
test al, al
jne case.0x48f5f2.1
cmp dword [0x21fd8c4], ebx
je 0x493459
mov ecx, dword [esi + 0x370]
call fcn.00513a00
test al, al
jne case.0x48f5f2.1
mov ecx, dword [esi + 0x364]
cmp ecx, ebx
jne 0x4939f4
push 0x110
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x42
je 0x4939df
mov ecx, eax
call fcn.0050a6d0
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x364], eax
jmp 0x493ae5
mov eax, dword [esi + ebp*4 + 0x1a8]
mov ecx, dword [eax + 4]
mov edx, dword [0x71c2a4]
lea edi, [ecx - 0x19]
cmp edx, edi
mov dword [esp + 0x20], ebp
jl case.default.0x493726
cmp edx, ecx
jg case.default.0x493726
mov eax, dword [eax + 8]
mov ecx, dword [0x71c2a8]
cmp ecx, eax
jl case.default.0x493726
add eax, 0x200
cmp ecx, eax
jg case.default.0x493726
test ebp, ebp
jne case.default.0x493726
or ecx, 0xffffffff
xor eax, eax
lea edx, [esi + 0x1a8]
lea ebx, [ebx]
mov edi, dword [edx]
test edi, edi
je 0x493516
mov ebx, dword [esi + 0x1a8]
mov ebx, dword [ebx + 0x24]
cmp ebx, dword [edi + 0x24]
jle 0x493516
mov ecx, eax
inc eax
add edx, 4
cmp eax, 0x24
jl 0x493500
cmp ecx, 0xffffffff
je case.default.0x493726
mov edx, dword [esi + ecx*4 + 0x1a8]
mov eax, dword [esi + 0x1a8]
mov ebx, dword [edx + 0x24]
mov edi, dword [eax + 0x24]
mov dword [eax + 0x24], ebx
mov dword [esi + 0x1a8], edx
mov edx, dword [esi + ecx*4 + 0x1a8]
mov dword [edx + 0x24], edi
mov dword [esi + ecx*4 + 0x1a8], eax
jmp case.default.0x493726
mov ebx, dword [esi + ebp*4 + 0x1a8]
or ecx, 0xffffffff
mov dword [esp + 0x20], ebp
xor eax, eax
lea edx, [esi + 0x1a8]
mov edi, dword [edx]
test edi, edi
je 0x493584
mov ebp, dword [ebx + 0x24]
cmp ebp, dword [edi + 0x24]
mov ebp, dword [esp + 0x20]
jle 0x493584
mov ecx, eax
inc eax
add edx, 4
cmp eax, 0x24
jl 0x493570
cmp ecx, 0xffffffff
je 0x4935ba
mov eax, dword [esi + ecx*4 + 0x1a8]
mov edi, dword [eax + 0x24]
mov edx, dword [ebx + 0x24]
mov dword [ebx + 0x24], edi
mov dword [esi + ebp*4 + 0x1a8], eax
mov eax, dword [esi + ecx*4 + 0x1a8]
mov dword [eax + 0x24], edx
mov dword [esi + ecx*4 + 0x1a8], ebx
cmp ebx, dword [esi + 0x370]
jne 0x493708
mov eax, dword [esp + 0x2c]
sub eax, 2
je 0x49362e
dec eax
jne 0x493708
mov edi, dword [0x21fd80c]
push edi
mov ecx, 0x21fd7dc
call fcn.0043b3f0
mov ecx, dword [0x21fd808]
push ecx
mov ecx, 0x21fd7dc
mov ebp, eax
call fcn.0043b3f0
cmp dword [0x21fd808], edi
je 0x49361f
test ebp, ebp
jne 0x49360a
test eax, eax
je 0x49361f
mov edx, dword [0x21fd808]
push edx
push edi
call fcn.005986c0
add esp, 8
jmp 0x493708
mov dword [0x21fd80c], 0xffffffff
jmp 0x493708
mov edi, dword [esi + 0x378]
test edi, edi
je 0x493652
mov ecx, edi
call fcn.0047e0d0
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x378], 0
push 0x68
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov dword [esp + 0x3c], 0x3f
je 0x493677
mov ecx, eax
call fcn.0047e0b0
mov edi, eax
jmp 0x493679
xor edi, edi
mov dword [esi + 0x378], edi
mov eax, dword [0x21fd808]
push eax
mov ecx, 0x21fd7dc
mov dword [esp + 0x40], 0xffffffff
call fcn.0043b3f0
xor ecx, ecx
test eax, eax
je 0x4936a1
mov ecx, dword [eax]
jmp 0x4936ae
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [0x71c2a8]
mov eax, dword [0x71c2a4]
push ecx
mov ecx, dword [0x21fd8c8]
push ecx
add edx, 0xfffffff6
push edx
add eax, 0xfffffff6
push eax
push 2
mov ecx, edi
call fcn.0047ebe0
test eax, eax
jne 0x493701
mov byte [0x21fd765], al
mov edi, dword [esi + 0x378]
test edi, edi
je 0x493708
mov ecx, edi
call fcn.0047e0d0
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x378], 0
jmp 0x493708
mov byte [0x21fd765], 2
mov edi, dword [esi + 0x368]
cmp ebx, edi
jne case.default.0x493726
mov eax, dword [esp + 0x2c]
add eax, 0xfffffffe
cmp eax, 4
ja case.default.0x493726
jmp dword [eax*4 + 0x493e90]
mov edi, dword [esi + 0x378]
xor ebx, ebx
cmp edi, ebx
je 0x49374f
mov ecx, edi
call fcn.0047e0d0
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x378], ebx
push 0x68
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x40
je 0x493774
mov ecx, eax
call fcn.0047e0b0
mov edi, eax
jmp 0x493776
xor edi, edi
mov dword [esi + 0x378], edi
mov ecx, dword [0x21fd808]
push ecx
mov ecx, 0x21fd7dc
mov dword [esp + 0x40], 0xffffffff
call fcn.0043b3f0
xor ecx, ecx
cmp eax, ebx
je 0x49379d
mov ecx, dword [eax]
mov edx, dword [0x21fd8c8]
mov eax, dword [0x71c2a8]
push ecx
mov ecx, dword [0x71c2a4]
push edx
add eax, 0xfffffff6
push eax
add ecx, 0xfffffff6
push ecx
push 2
mov ecx, edi
call fcn.0047ebe0
jmp 0x493a85
mov ecx, dword [0x21fd808]
mov eax, dword [0x21fd80c]
cmp ecx, eax
jne 0x4937e4
mov dword [0x21fd80c], 0xffffffff
jmp case.default.0x493726
push ecx
push eax
call fcn.005986c0
add esp, 8
jmp case.default.0x493726
mov dl, byte [0x21fd8bc]
test dl, dl
je 0x49380a
mov eax, dword [0x21fd7f0]
test eax, eax
jne 0x493944
xor eax, eax
lea ecx, [edi + 0x1287]
cmp byte [ecx], 1
je 0x4938ac
inc eax
add ecx, 0x5d8
cmp eax, 3
jl 0x493812
mov edi, dword [esi + 0x384]
test edi, edi
je 0x49384b
mov ecx, edi
call fcn.004c5470
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x384], 0
push 0xc48
call fcn.005cc96d
mov edi, eax
add esp, 4
mov dword [esp + 0x30], edi
test edi, edi
mov dword [esp + 0x3c], 0x41
je 0x493919
push 0x196f
call fcn.0041d4a0
add esp, 4
push eax
push 0
push 0xff
push 0xff
push 0
mov ecx, edi
call fcn.004c4d10
mov dword [esi + 0x384], 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 0x493912
dec eax
je 0x49390b
dec eax
jne 0x493827
mov eax, 4
mov cl, byte [edi + 0x240f]
xor bl, bl
cmp cl, 1
mov byte [esp + 0x2c], bl
jne 0x4938db
mov bl, 1
mov byte [esp + 0x2c], bl
test dl, dl
je 0x493936
cmp eax, dword [0x21fd800]
je 0x4938f4
push eax
call fcn.005985f0
add esp, 4
cmp bl, byte [0x21fd804]
je 0x493944
mov edx, dword [esp + 0x2c]
push edx
call fcn.005985a0
add esp, 4
jmp 0x493944
mov eax, 2
jmp 0x4938c4
mov eax, 1
jmp 0x4938c4
xor eax, eax
mov dword [esi + 0x384], 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.00598540
add esp, 8
mov ecx, dword [esi + 0x368]
mov al, byte [ecx + 0x29e7]
xor edx, edx
cmp al, 1
sete dl
mov dword [0x21fd8c4], edx
mov esi, dword [esi + 0x370]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
mov dword [0x21fd8c0], 0
jmp case.default.0x493726
mov al, byte [0x21fd8bc]
test al, al
mov dword [0x21fd8c0], 0
je 0x4939b0
mov ecx, dword [esi + 0x370]
call fcn.00513a80
fstp dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, dword [esi + 0x370]
call fcn.00513a50
jmp case.default.0x493726
mov ecx, 0x21fd7dc
call fcn.0048df40
jmp case.default.0x493726
fld dword [edi + 0x46fc]
push ecx
fmul dword [0x6bb600]
mov ecx, dword [esi + 0x370]
fstp dword [esp]
call fcn.00513a50
jmp case.default.0x493726
xor eax, eax
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x364], eax
jmp 0x493ae5
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, ebx
je 0x493ace
cmp eax, 2
jne 0x493a99
mov edi, dword [esi + 0x378]
cmp edi, ebx
je 0x493a2a
mov ecx, edi
call fcn.0047e0d0
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x378], ebx
push 0x68
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x43
je 0x493a4d
mov ecx, eax
call fcn.0047e0b0
jmp 0x493a4f
xor eax, eax
mov ecx, dword [esi + 0x364]
mov dword [esi + 0x378], eax
mov edx, dword [0x71c2a8]
mov ecx, dword [ecx + 0x108]
add edx, 0xfffffff6
push edx
mov edx, dword [0x71c2a4]
add edx, 0xfffffff6
push edx
push ecx
mov ecx, eax
mov dword [esp + 0x48], 0xffffffff
call fcn.0047e680
test eax, eax
je 0x493189
mov byte [0x21fd765], 2
jmp case.default.0x493726
cmp eax, 3
jne case.default.0x493726
mov edi, dword [esi + 0x378]
cmp edi, ebx
je 0x493ac2
mov ecx, edi
call fcn.0047e0d0
push edi
call fcn.005cc620
add esp, 4
mov dword [esi + 0x378], ebx
mov byte [0x21fd765], 0
jmp case.default.0x493726
mov ecx, dword [esi + 0x364]
cmp ecx, ebx
je 0x493ae5
call fcn.0050a240
test al, al
jne case.0x48f5f2.1
mov ecx, dword [esi + 0x374]
cmp ecx, ebx
jne 0x493b32
push 0x40
call fcn.005cc96d
add esp, 4
mov dword [esp + 0x30], eax
cmp eax, ebx
mov dword [esp + 0x3c], 0x44
je 0x493b20
mov ecx, eax
call fcn.00514900
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x374], eax
jmp 0x493b4e
xor eax, eax
mov dword [esp + 0x3c], 0xffffffff
mov dword [esi + 0x374], eax
jmp 0x493b4e
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esi + 0x374]
cmp ecx, ebx
je 0x493b4e
call fcn.00513b70
test al, al
jne case.0x48f5f2.1
mov ecx, dword [esi + 0x2700]
cmp ecx, ebx
je 0x493b66
mov edx, dword [ecx]
call dword [edx + 4]
cmp eax, 1
je case.0x48f5f2.1
mov ecx, esi
call fcn.0048caf0
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