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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x850f20
mov eax, dword fs:[0]
push eax
sub esp, 0x298
mov eax, dword [0x8943b8]
xor eax, esp
mov dword [esp + 0x290], eax
push ebx
push esi
push edi
mov eax, dword [0x8943b8]
xor eax, esp
push eax
lea eax, [esp + 0x2a8]
mov dword fs:[0], eax
xor edx, edx
mov ebx, ecx
mov eax, 0x45c620
push edx
lea ecx, [ebx + 4]
push eax
mov dword [esp + 0x44], ebx
mov dword [ebx + 0x848], edx
call fcn.0045edc0
lea eax, [ebx + 0x348]
push eax
mov ecx, ebx
call fcn.0045d160
lea eax, [ebx + 0x354]
push eax
mov ecx, ebx
call fcn.0045d160
mov eax, dword [ebx + 0x340]
mov eax, dword [eax]
lea esi, [ebx + 0x33c]
mov edi, esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
test edi, edi
mov eax, dword [esi + 4]
mov dword [esp + 0x44], eax
je 0x4609a0
cmp edi, esi
je 0x4609a5
call fcn.0081ff70
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x44]
je 0x4609e1
test edi, edi
jne 0x4609b8
call fcn.0081ff70
mov edx, dword [esp + 0x18]
cmp edx, dword [edi + 4]
jne 0x4609c6
call fcn.0081ff70
mov ecx, dword [esp + 0x18]
add ecx, 0x28
call fcn.0045c500
lea ecx, [esp + 0x14]
call fcn.0045c870
mov edi, dword [esp + 0x14]
jmp 0x460991
lea ecx, [ebx + 0x4c8]
call fcn.0045b740
cmp byte [ebx + 0x841], 0
je 0x460a14
mov eax, dword [ebx + 0x334]
cmp eax, 0x28
jge 0x460a0b
add eax, 4
mov dword [ebx + 0x334], eax
jmp 0x460a7d
lea eax, [ebx + 0x360]
push eax
jmp 0x460a76
cmp dword [ebx + 0x368], 0
jne 0x460a32
mov eax, dword [ebx + 0x334]
test eax, eax
jle 0x460a7d
add eax, 0xfffffffc
mov dword [ebx + 0x334], eax
jmp 0x460a7d
mov eax, dword [ebx + 0x364]
mov edi, dword [eax]
lea esi, [ebx + 0x360]
cmp esi, esi
mov ecx, dword [esi + 4]
mov dword [esp + 0x44], ecx
je 0x460a50
call fcn.0081ff70
cmp edi, dword [esp + 0x44]
je 0x460a75
cmp edi, dword [esi + 4]
jne 0x460a60
call fcn.0081ff70
mov byte [edi + 0xa1], 0xec
cmp edi, dword [esi + 4]
jne 0x460a71
call fcn.0081ff70
mov edi, dword [edi]
jmp 0x460a40
push esi
mov ecx, ebx
call fcn.0045d160
mov eax, dword [ebx + 0x340]
mov edi, dword [eax]
lea esi, [ebx + 0x33c]
mov eax, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edi
test eax, eax
mov edx, dword [esi + 4]
mov dword [esp + 0x44], edx
je 0x460aa4
cmp eax, esi
je 0x460aad
call fcn.0081ff70
mov eax, dword [esp + 0x14]
cmp edi, dword [esp + 0x44]
je 0x460e26
test eax, eax
jne 0x460ac4
call fcn.0081ff70
mov eax, dword [esp + 0x14]
cmp edi, dword [eax + 4]
jne 0x460ace
call fcn.0081ff70
cmp byte [edi + 0x100], 0
jne 0x460aea
lea ecx, [esp + 0x14]
call fcn.0045c870
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
jmp 0x460a95
call fcn.0043e0a0
cmp eax, 2
jne 0x460cec
call fcn.0043e090
mov esi, eax
lea ecx, [esi + 0x124]
mov dword [esp + 0x30], ecx
call fcn.0040af30
mov esi, dword [esi + 0x104]
cmp dword [esi + 0x4c], 0
je 0x460b71
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x4c]
add eax, ecx
cmp ecx, eax
mov dword [esp + 0x24], ecx
jbe 0x460b33
call fcn.0081ff70
mov ecx, dword [esp + 0x24]
mov edx, ecx
and edx, 7
mov dword [esp + 0x2c], edx
mov edx, dword [esi + 0x4c]
add edx, dword [esi + 0x48]
mov eax, ecx
shr eax, 3
cmp ecx, edx
mov dword [esp + 0x24], eax
jb 0x460b58
call fcn.0081ff70
mov eax, dword [esp + 0x24]
mov ecx, dword [esi + 0x44]
cmp ecx, eax
ja 0x460b61
sub eax, ecx
mov ecx, dword [esi + 0x40]
mov edx, dword [ecx + eax*4]
mov eax, dword [esp + 0x2c]
movzx esi, word [edx + eax*2]
jmp 0x460b73
xor esi, esi
mov ecx, dword [esp + 0x30]
call fcn.0040af40
cmp word [0x8985d8], si
jne 0x460e00
call fcn.0043e090
mov esi, eax
lea ecx, [esi + 0x124]
mov dword [esp + 0x2c], ecx
call fcn.0040af30
mov esi, dword [esi + 0x104]
cmp dword [esi + 0x4c], 0
je 0x460c04
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
add ecx, eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jbe 0x460bc4
call fcn.0081ff70
mov eax, dword [esp + 0x24]
mov edx, dword [esi + 0x48]
add edx, dword [esi + 0x4c]
cmp eax, edx
jb 0x460bd3
call fcn.0081ff70
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x460c04
mov edx, dword [esi + 0x44]
add dword [esi + 0x48], 1
mov ecx, dword [esi + 0x48]
add edx, edx
add edx, edx
add edx, edx
cmp edx, ecx
ja 0x460bf5
mov dword [esi + 0x48], 0
add eax, 0xffffffff
mov dword [esi + 0x4c], eax
jne 0x460c04
mov dword [esi + 0x48], 0
mov ecx, dword [esp + 0x2c]
call fcn.0040af40
mov eax, dword [esp + 0x14]
cmp edi, dword [eax + 4]
jne 0x460c1b
call fcn.0081ff70
movsx ecx, byte [edi + 0xfc]
push ecx
mov ecx, dword [0x8985dc]
call fcn.0046d9f0
test al, al
jne 0x460d77
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov esi, eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], 0x10
mov dword [esp + 0x2b0], 0
lea ecx, [ecx]
mov edx, dword [esp + 0x14]
cmp edi, dword [edx + 4]
jne 0x460c6e
call fcn.0081ff70
movsx eax, byte [edi + 0xfc]
mov ecx, dword [0x8985dc]
push eax
call fcn.0046eaa0
test al, al
jne 0x460c90
push 0x10
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x460c60
mov ecx, dword [esp + 0x14]
cmp edi, dword [ecx + 4]
jne 0x460c9e
call fcn.0081ff70
movsx edx, byte [edi + 0xfc]
mov ecx, dword [0x8985dc]
push edx
call fcn.0046d9e0
mov esi, eax
mov eax, dword [esi]
mov edx, dword [eax + 0x44]
mov ecx, esi
call edx
mov ecx, dword [0x8985dc]
push 0
call fcn.0046d9e0
push eax
mov ecx, esi
call fcn.0046b450
mov eax, dword [esp + 0x48]
push eax
mov dword [esp + 0x2b4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x460d77
mov ecx, dword [esp + 0x14]
cmp edi, dword [ecx + 4]
jne 0x460cfa
call fcn.0081ff70
movsx edx, byte [edi + 0xfc]
mov ecx, dword [0x8985dc]
push edx
call fcn.0046d9f0
test al, al
jne 0x460d77
mov esi, dword [esp + 0x14]
cmp edi, dword [esi + 4]
jne 0x460d1f
call fcn.0081ff70
movsx eax, byte [edi + 0xfc]
mov ecx, dword [0x8985dc]
push eax
call fcn.0046eaa0
test al, al
je 0x460e00
cmp edi, dword [esi + 4]
jne 0x460d44
call fcn.0081ff70
movsx ecx, byte [edi + 0xfc]
push ecx
mov ecx, dword [0x8985dc]
call fcn.0046d9e0
mov esi, eax
mov edx, dword [esi]
mov eax, dword [edx + 0x44]
mov ecx, esi
call eax
mov ecx, dword [0x8985dc]
push 0
call fcn.0046d9e0
push eax
mov ecx, esi
call fcn.0046b450
call fcn.0043e0a0
cmp eax, 1
jne 0x460d95
movzx eax, word [0x8985d8]
push eax
call fcn.0043e090
mov ecx, eax
call fcn.0042d770
mov esi, dword [esp + 0x14]
cmp edi, dword [esi + 4]
jne 0x460da3
call fcn.0081ff70
movsx ecx, byte [edi + 0xfc]
push ecx
mov ecx, dword [0x8985dc]
call fcn.0046d9e0
cmp edi, dword [esi + 4]
mov dword [esp + 0x24], eax
jne 0x460dce
call fcn.0081ff70
cmp edi, dword [esi + 4]
jne 0x460dce
call fcn.0081ff70
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov eax, dword [edi + 0xf8]
mov edx, dword [edx + 0x4c]
push eax
call edx
mov byte [edi + 0x100], al
cmp edi, dword [esi + 4]
jne 0x460df0
call fcn.0081ff70
cmp byte [edi + 0x100], 0
jne 0x460e00
mov byte [ebx + 0x840], 0
mov al, 1
mov ecx, dword [esp + 0x2a8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x290]
xor ecx, esp
call fcn.0081fb35
mov esp, ebp
pop ebp
ret
lea edi, [ebx + 0x3a0]
mov ecx, edi
mov dword [esp + 0x24], edi
call fcn.0045c0a0
test al, al
je 0x460f95
call fcn.0043e0a0
cmp eax, 2
jne 0x460f58
call fcn.0043e090
mov esi, eax
lea ebx, [esi + 0x124]
mov ecx, ebx
mov dword [esp + 0x30], ebx
call fcn.0040af30
mov esi, dword [esi + 0x104]
cmp dword [esi + 0x4c], 0
je 0x460ebc
mov edi, dword [esi + 0x48]
mov eax, dword [esi + 0x4c]
add eax, edi
cmp edi, eax
jbe 0x460e82
call fcn.0081ff70
mov ecx, dword [esi + 0x48]
add ecx, dword [esi + 0x4c]
mov ebx, edi
mov eax, edi
and eax, 7
shr ebx, 3
cmp edi, ecx
mov dword [esp + 0x2c], eax
jb 0x460ea3
call fcn.0081ff70
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0x44]
cmp ecx, ebx
ja 0x460eac
sub ebx, ecx
mov edx, dword [esi + 0x40]
mov ecx, dword [edx + ebx*4]
movzx esi, word [ecx + eax*2]
mov ebx, dword [esp + 0x30]
jmp 0x460ebe
xor esi, esi
mov ecx, ebx
call fcn.0040af40
cmp word [0x8985d8], si
jne 0x460e00
call fcn.0043e090
mov esi, eax
lea edi, [esi + 0x124]
mov ecx, edi
call fcn.0040af30
mov esi, dword [esi + 0x104]
cmp dword [esi + 0x4c], 0
je 0x460f43
mov ebx, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
add edx, ebx
cmp ebx, edx
jbe 0x460f03
call fcn.0081ff70
mov eax, dword [esi + 0x48]
add eax, dword [esi + 0x4c]
cmp ebx, eax
jb 0x460f12
call fcn.0081ff70
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x460f43
mov edx, dword [esi + 0x44]
add dword [esi + 0x48], 1
mov ecx, dword [esi + 0x48]
add edx, edx
add edx, edx
add edx, edx
cmp edx, ecx
ja 0x460f34
mov dword [esi + 0x48], 0
add eax, 0xffffffff
mov dword [esi + 0x4c], eax
jne 0x460f43
mov dword [esi + 0x48], 0
mov ecx, edi
call fcn.0040af40
mov ecx, dword [esp + 0x24]
call fcn.0045be40
jmp 0x460e00
mov ebx, dword [ebx + 0x64]
cmp dword [ebx + 0x40], 1
je 0x460f6b
cmp dword [ebx + 0x48], 0
je 0x460e00
call fcn.0043e0a0
cmp eax, 1
jne 0x460f89
movzx eax, word [0x8985d8]
push eax
call fcn.0043e090
mov ecx, eax
call fcn.0042d770
mov ecx, edi
call fcn.0045be40
jmp 0x460e00
mov eax, dword [ebx + 0x84c]
test eax, eax
je 0x460fad
add eax, 0xffffffff
mov dword [ebx + 0x84c], eax
jmp 0x460e00
cmp byte [ebx + 0x843], 0
je 0x461028
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov edi, esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
test edi, edi
mov ecx, dword [esi + 4]
mov dword [esp + 0x44], ecx
je 0x460fd4
cmp edi, esi
je 0x460fd9
call fcn.0081ff70
mov edx, dword [esp + 0x44]
cmp dword [esp + 0x18], edx
je 0x46101a
test edi, edi
jne 0x460fec
call fcn.0081ff70
mov eax, dword [esp + 0x18]
cmp eax, dword [edi + 4]
jne 0x460ffa
call fcn.0081ff70
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x101], 0
jne 0x4622b1
lea ecx, [esp + 0x14]
call fcn.0045c870
mov edi, dword [esp + 0x14]
jmp 0x460fc5
mov ecx, ebx
call fcn.0045ffb0
xor al, al
jmp 0x460e02
cmp byte [ebx + 0x845], 0
je 0x461053
mov eax, dword [ebx + 0x850]
test eax, eax
je 0x46110f
add eax, 0xffffffff
mov dword [ebx + 0x850], eax
jne 0x46110f
jmp 0x461108
cmp byte [ebx + 0x840], 0
je 0x46111c
mov eax, dword [ebx + 0x850]
test eax, eax
je 0x461078
add eax, 0xffffffff
mov dword [ebx + 0x850], eax
jmp 0x460df7
call fcn.0043e0a0
cmp eax, 2
jne 0x4610cd
lea edx, [esp + 0x28]
push edx
call fcn.0043e090
mov ecx, eax
call fcn.0045cc50
cmp word [0x8985d8], ax
jne 0x460e00
call fcn.0043e090
mov esi, eax
lea edi, [esi + 0x124]
mov ecx, edi
call fcn.0040af30
mov ecx, dword [esi + 0x104]
lea eax, [esp + 0x28]
push eax
call fcn.0042ad40
mov ecx, edi
call fcn.0040af40
jmp 0x4610fe
mov eax, dword [ebx + 0x64]
cmp dword [eax + 0x40], 1
je 0x4610e0
cmp dword [eax + 0x48], 0
je 0x460e00
call fcn.0043e0a0
cmp eax, 1
jne 0x4610fe
movzx eax, word [0x8985d8]
push eax
call fcn.0043e090
mov ecx, eax
call fcn.0042d770
mov dword [ebx + 0x850], 0
mov byte [ebx + 0x840], 0
cmp byte [ebx + 0x840], 0
jne 0x460e00
lea ecx, [ebx + 0x36c]
call fcn.00405ac0
mov esi, eax
xor edi, edi
cmp esi, edi
je 0x461021
mov eax, dword [esi + 4]
cmp eax, 0x1a
ja case.0x46113f.11
jmp dword [eax*4 + 0x4622b8]
cmp byte [ebx + 0x844], 0
je 0x4611ec
push 0xffffffffffffffff
push 0
lea ecx, [ebx + 0x804]
push ecx
lea ecx, [ebx + 0x7e8]
call fcn.004020d0
mov edx, dword [ebx + 0x340]
mov eax, dword [edx]
lea edi, [ebx + 0x33c]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
nop
test edi, edi
mov ecx, dword [ebx + 0x340]
lea eax, [ebx + 0x33c]
mov dword [esp + 0xc0], ecx
je 0x46119b
cmp edi, eax
je 0x4611a0
call fcn.0081ff70
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0xc0]
je 0x4611de
test edi, edi
jne 0x4611b6
call fcn.0081ff70
mov eax, dword [esp + 0x18]
cmp eax, dword [edi + 4]
jne 0x4611c4
call fcn.0081ff70
mov ecx, dword [esp + 0x18]
mov byte [ecx + 0xff], 0
lea ecx, [esp + 0x14]
call fcn.0045c870
mov edi, dword [esp + 0x14]
jmp 0x461180
mov ecx, ebx
call fcn.0045d720
mov byte [ebx + 0x844], 0
lea edx, [ebx + 0x820]
push edx
lea eax, [esp + 0xd8]
lea edi, [ebx + 0x33c]
push eax
mov ecx, edi
call fcn.0045d410
mov ecx, dword [eax]
test ecx, ecx
mov edx, dword [eax + 4]
mov eax, dword [edi + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x9c], eax
je 0x461227
cmp ecx, edi
je 0x46122c
call fcn.0081ff70
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x9c]
je 0x461262
cmp dword [esp + 0x14], 0
jne 0x461245
call fcn.0081ff70
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp edx, dword [eax + 4]
jne 0x461257
call fcn.0081ff70
mov ecx, dword [esp + 0x18]
mov byte [ecx + 0xff], 1
push 0xffffffffffffffff
lea eax, [esi + 8]
push 0
lea edi, [ebx + 0x7e8]
push eax
mov ecx, edi
mov byte [ebx + 0x841], 1
call fcn.004087b0
cmp dword [esi + 0x20], 0x10
jb 0x461289
mov eax, dword [esi + 0xc]
jmp 0x46128c
lea eax, [esi + 0xc]
push 0x40
push eax
call fcn.00821395
add esp, 8
cmp dword [esi + 0x20], 0x10
mov dword [esp + 0x1c], eax
jb 0x4612a6
mov eax, dword [esi + 0xc]
jmp 0x4612a9
lea eax, [esi + 0xc]
push 0x5c
push eax
call fcn.00821395
xor cl, cl
add esp, 8
xor dl, dl
cmp dword [esp + 0x1c], 0
mov byte [esp + 0x28], cl
je 0x4612e4
cmp dword [esi + 0x20], 0x10
jb 0x4612ce
mov edx, dword [esi + 0xc]
jmp 0x4612d1
lea edx, [esi + 0xc]
mov ecx, dword [esp + 0x1c]
sub ecx, edx
add ecx, 1
cmp ecx, dword [esi + 0x1c]
mov cl, byte [esp + 0x28]
sete dl
test eax, eax
je 0x461301
cmp dword [esi + 0x20], 0x10
jb 0x4612f3
mov ecx, dword [esi + 0xc]
jmp 0x4612f6
lea ecx, [esi + 0xc]
sub eax, ecx
add eax, 1
cmp eax, dword [esi + 0x1c]
sete cl
test dl, dl
je 0x4613d4
mov edx, dword [edi + 0x18]
cmp edx, 0x10
lea eax, [edi + 4]
jb 0x461318
mov ecx, dword [eax]
jmp 0x46131a
mov ecx, eax
mov esi, dword [edi + 0x14]
add ecx, esi
mov dword [esp + 0x1c], ecx
je 0x461342
cmp edx, 0x10
jb 0x46132e
mov edx, dword [eax]
jmp 0x461330
mov edx, eax
cmp edx, ecx
ja 0x461342
cmp dword [edi + 0x18], 0x10
jb 0x46133c
mov eax, dword [eax]
add eax, esi
cmp ecx, eax
jbe 0x461347
call fcn.0081ff70
cmp dword [edi + 0x18], 0x10
lea eax, [edi + 4]
jb 0x461354
mov ecx, dword [eax]
jmp 0x461356
mov ecx, eax
mov edx, dword [edi + 0x14]
lea esi, [ecx + edx]
test esi, esi
je 0x46137e
cmp dword [edi + 0x18], 0x10
jb 0x46136a
mov ecx, dword [eax]
jmp 0x46136c
mov ecx, eax
cmp ecx, esi
ja 0x46137e
cmp dword [edi + 0x18], 0x10
jb 0x461378
mov eax, dword [eax]
add eax, edx
cmp esi, eax
jbe 0x461383
call fcn.0081ff70
push 0xffffffffffffffff
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], esi
call fcn.004105a0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
push edx
push edi
push eax
push ecx
lea edx, [esp + 0x2c]
push edx
mov ecx, edi
call fcn.0040fd00
push edi
mov ecx, ebx
call fcn.0045e5d0
push 4
push 0x858704
mov ecx, edi
call fcn.00408620
mov byte [ebx + 0x840], 1
jmp case.0x46113f.11
test cl, cl
je 0x4614a0
mov edx, dword [edi + 0x18]
cmp edx, 0x10
lea eax, [edi + 4]
jb 0x4613eb
mov ecx, dword [eax]
jmp 0x4613ed
mov ecx, eax
mov esi, dword [edi + 0x14]
add ecx, esi
mov dword [esp + 0x1c], ecx
je 0x461415
cmp edx, 0x10
jb 0x461401
mov edx, dword [eax]
jmp 0x461403
mov edx, eax
cmp edx, ecx
ja 0x461415
cmp dword [edi + 0x18], 0x10
jb 0x46140f
mov eax, dword [eax]
add eax, esi
cmp ecx, eax
jbe 0x46141a
call fcn.0081ff70
cmp dword [edi + 0x18], 0x10
lea eax, [edi + 4]
jb 0x461427
mov ecx, dword [eax]
jmp 0x461429
mov ecx, eax
mov edx, dword [edi + 0x14]
lea esi, [ecx + edx]
test esi, esi
je 0x461451
cmp dword [edi + 0x18], 0x10
jb 0x46143d
mov ecx, dword [eax]
jmp 0x46143f
mov ecx, eax
cmp ecx, esi
ja 0x461451
cmp dword [edi + 0x18], 0x10
jb 0x46144b
mov eax, dword [eax]
add eax, edx
cmp esi, eax
jbe 0x461456
call fcn.0081ff70
push 0xffffffffffffffff
lea ecx, [esp + 0x64]
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], esi
call fcn.004105a0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x2c]
push eax
mov ecx, edi
call fcn.0040fd00
push edi
mov ecx, ebx
call fcn.0045e5d0
mov byte [ebx + 0x844], 1
mov byte [ebx + 0x840], 1
jmp case.0x46113f.11
push 4
push 0x858704
mov ecx, edi
call fcn.00408620
jmp case.0x46113f.11
movzx ecx, byte [esi + 0x2f]
movzx edx, byte [esi + 0x2e]
movzx eax, byte [esi + 0x2d]
push ecx
mov ecx, dword [esi + 0x28]
push edx
mov edx, dword [esi + 0x24]
push eax
movsx eax, byte [esi + 0x2c]
push ecx
push edx
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0xffffffffffffffff
push edi
add esi, 8
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], edi
push esi
mov byte [ecx + 4], 0
call fcn.004020d0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x78], esp
push 0xffffffffffffffff
push edi
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], edi
push esi
mov dword [esp + 0x30c], 1
mov byte [ecx + 4], 0
call fcn.004020d0
mov ecx, ebx
mov dword [esp + 0x300], 0xffffffff
call fcn.0045ef50
jmp case.0x46113f.11
lea ecx, [esi + 8]
push ecx
lea edx, [esp + 0x54]
lea edi, [ebx + 0x33c]
push edx
mov ecx, edi
call fcn.0045d410
mov eax, dword [edi + 4]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x461560
cmp eax, edi
je 0x461565
call fcn.0081ff70
mov edi, dword [esp + 0x54]
cmp edi, dword [esp + 0xd0]
je case.0x46113f.11
cmp dword [esp + 0x50], 0
jne 0x461582
call fcn.0081ff70
mov ecx, dword [esp + 0x50]
cmp edi, dword [ecx + 4]
jne 0x461590
call fcn.0081ff70
mov dword [esp + 0x29c], 0xf
mov dword [esp + 0x298], 0
mov byte [esp + 0x288], 0
cmp dword [esi + 0x38], 0
mov dword [esp + 0x2b0], 2
je 0x46171e
lea edx, [edi + 0xc0]
push edx
lea eax, [esp + 0x118]
push str.data_character_
push eax
call fcn.0042bea0
push str._stand_
push eax
lea ecx, [esp + 0xf0]
push ecx
mov byte [esp + 0x2c8], 3
call fcn.004088b0
add esi, 0x24
push esi
push eax
lea edx, [esp + 0x150]
push edx
mov byte [esp + 0x2d4], 4
call fcn.00408970
push str..bmp
push eax
lea eax, [esp + 0x124]
push eax
mov byte [esp + 0x2e0], 5
call fcn.004088b0
add esp, 0x30
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x290]
mov byte [esp + 0x2bc], 6
call fcn.004020d0
lea ecx, [esp + 0xf8]
call fcn.00401e00
lea ecx, [esp + 0x130]
call fcn.00401e00
lea ecx, [esp + 0xdc]
call fcn.00401e00
lea ecx, [esp + 0x114]
mov byte [esp + 0x2b0], 2
call fcn.00401e00
mov ecx, dword [edi + 0x28]
push ecx
mov ecx, 0x89ff08
call fcn.00405110
cmp dword [esp + 0x29c], 0x10
mov eax, dword [esp + 0x288]
jae 0x4616a6
lea eax, [esp + 0x288]
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x30]
push ecx
push eax
lea edx, [esp + 0xb4]
push edx
mov ecx, 0x89ff08
call fcn.00405030
mov eax, dword [eax]
mov edx, dword [edi + 0x2c]
mov edx, dword [edx + 0x10]
mov dword [edi + 0x28], eax
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x30]
shr ecx, 1
push ecx
mov ecx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x38]
push ecx
push 0
lea esi, [edi + 0x2c]
push 0
push eax
mov ecx, esi
call edx
movsx eax, byte [edi + 0xfd]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esi + 0x88]
fld1
fstp dword [esi + 0x8c]
mov byte [edi + 0xfe], 1
jmp 0x461725
mov byte [edi + 0xfe], 0
movzx ecx, byte [edi + 0xdf]
movzx edx, byte [edi + 0xde]
movzx eax, byte [edi + 0xdd]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0045c570
mov esi, dword [esp + 0x50]
cmp edi, dword [esi + 4]
jne 0x461752
call fcn.0081ff70
push 0xffffffffffffffff
lea eax, [edi + 0xc]
push 0
push eax
lea ecx, [ebx + 0x820]
call fcn.004020d0
cmp edi, dword [esi + 4]
jne 0x46176f
call fcn.0081ff70
cmp dword [esp + 0x29c], 0x10
movsx ecx, byte [edi + 0xfc]
mov dword [ebx + 0x83c], ecx
mov dword [esp + 0x2b0], 0xffffffff
jb case.0x46113f.11
mov edx, dword [esp + 0x288]
push edx
call fcn.0081f6fa
add esp, 4
mov ebx, dword [esp + 0x3c]
cmp byte [ebx + 0x840], 0
je 0x46111c
jmp 0x460e00
lea eax, [esi + 8]
push eax
lea eax, [esp + 0x4c]
lea edi, [ebx + 0x33c]
push eax
mov ecx, edi
call fcn.0045d410
cmp dword [esp + 0x48], 0
mov ecx, dword [edi + 4]
mov dword [esp + 0x84], ecx
je 0x4617e4
cmp dword [esp + 0x48], edi
je 0x4617e9
call fcn.0081ff70
mov edi, dword [esp + 0x4c]
cmp edi, dword [esp + 0x84]
jne 0x46180f
mov dword [ebx + 0x7dc], 0
add ebx, 0x4c8
mov ecx, ebx
call fcn.0045ba60
jmp case.0x46113f.11
push 0xffffffffffffffff
push 0
lea eax, [esi + 8]
push eax
lea ecx, [ebx + 0x820]
call fcn.004020d0
mov edx, dword [esi + 0x24]
mov dword [ebx + 0x7dc], edx
fld dword [esi + 0x28]
fstp dword [ebx + 0x7e0]
fld dword [esi + 0x2c]
mov esi, dword [esp + 0x48]
test esi, esi
fstp dword [ebx + 0x7e4]
jne 0x46184a
call fcn.0081ff70
cmp edi, dword [esi + 4]
jne 0x461868
call fcn.0081ff70
cmp edi, dword [esi + 4]
jne 0x461868
call fcn.0081ff70
cmp edi, dword [esi + 4]
jne 0x461868
call fcn.0081ff70
movzx eax, byte [edi + 0xdf]
movzx ecx, byte [edi + 0xde]
movzx edx, byte [edi + 0xdd]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.0045c570
cmp edi, dword [esi + 4]
jne 0x461891
call fcn.0081ff70
movsx eax, byte [edi + 0xfc]
mov dword [ebx + 0x83c], eax
jmp case.0x46113f.11
lea ecx, [esi + 8]
push ecx
lea edx, [esp + 0x38]
lea edi, [ebx + 0x33c]
push edx
mov ecx, edi
call fcn.0045d410
mov eax, dword [edi + 4]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4618cf
cmp eax, edi
je 0x4618d4
call fcn.0081ff70
mov edi, dword [esp + 0x38]
cmp edi, dword [esp + 0xc8]
je case.0x46113f.11
cmp dword [esp + 0x34], 0
jne 0x4618f1
call fcn.0081ff70
mov ecx, dword [esp + 0x34]
cmp edi, dword [ecx + 4]
jne 0x4618ff
call fcn.0081ff70
mov edx, dword [esp + 0x34]
mov byte [edi + 0x100], 1
cmp edi, dword [edx + 4]
jne 0x461914
call fcn.0081ff70
mov eax, dword [esi + 0x24]
mov ecx, dword [esp + 0x34]
mov dword [edi + 0xf8], eax
mov byte [ebx + 0x840], 1
cmp edi, dword [ecx + 4]
jne 0x461932
call fcn.0081ff70
cmp byte [edi + 0xfc], 0
je 0x461951
lea ecx, [esp + 0x34]
call fcn.004565e0
cmp byte [eax + 0xf0], 1
jne 0x460e00
mov edx, dword [esp + 0x34]
cmp edi, dword [edx + 4]
jne 0x46195f
call fcn.0081ff70
movsx eax, byte [edi + 0xfc]
mov ecx, dword [0x8985dc]
push eax
call fcn.0046d9e0
mov ecx, dword [esp + 0x34]
cmp edi, dword [ecx + 4]
mov esi, eax
jne 0x461982
call fcn.0081ff70
mov edx, dword [esp + 0x34]
cmp edi, dword [edx + 4]
jne 0x461990
call fcn.0081ff70
mov ecx, dword [edi + 0xf8]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
push ecx
mov ecx, esi
call edx
mov byte [edi + 0x100], al
mov eax, dword [esp + 0x34]
cmp edi, dword [eax + 4]
jne 0x4619b4
call fcn.0081ff70
cmp byte [edi + 0x100], 0
jne 0x460e00
mov byte [ebx + 0x840], 0
jmp case.0x46113f.11
cmp dword [esi + 0x20], 0x10
jb 0x4619d8
mov eax, dword [esi + 0xc]
jmp 0x4619db
lea eax, [esi + 0xc]
fld dword [esi + 0x2c]
movzx ecx, word [esi + 0x24]
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0x28]
fstp dword [esp]
push ecx
push eax
lea ecx, [ebx + 4]
call fcn.00460560
jmp case.0x46113f.11
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
push edx
push eax
lea ecx, [ebx + 4]
call fcn.00438880
jmp case.0x46113f.11
cmp dword [esi + 0x20], 0x10
jb 0x461a27
mov esi, dword [esi + 0xc]
push esi
call fcn.0043ff10
jmp 0x46179e
add esi, 0xc
push esi
call fcn.0043ff10
jmp 0x46179e
call fcn.0043e160
jmp case.0x46113f.11
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push ecx
push edx
call fcn.0043e1b0
add esp, 8
jmp case.0x46113f.11
cmp dword [esi + 0x20], 0x10
jb 0x461a5f
mov eax, dword [esi + 0xc]
jmp 0x461a62
lea eax, [esi + 0xc]
movzx ecx, byte [esi + 0x28]
mov edx, dword [esi + 0x24]
push ecx
push edx
push eax
call fcn.00440040
add esp, 0xc
jmp case.0x46113f.11
lea eax, [esi + 8]
push eax
lea ecx, [esp + 0x44]
push ecx
add ebx, 0x33c
mov ecx, ebx
call fcn.0045d410
mov edi, dword [esp + 0x40]
test edi, edi
mov edx, dword [ebx + 4]
mov dword [esp + 0xb8], edx
je 0x461aa5
cmp edi, ebx
je 0x461aaa
call fcn.0081ff70
mov ebx, dword [esp + 0x44]
cmp ebx, dword [esp + 0xb8]
jne 0x461ac5
mov eax, dword [esi + 0x24]
push eax
call fcn.0043e1e0
jmp 0x46179e
test edi, edi
jne 0x461ace
call fcn.0081ff70
cmp ebx, dword [edi + 4]
jne 0x461ad8
call fcn.0081ff70
movsx ecx, byte [ebx + 0xfc]
push ecx
mov ecx, dword [0x8985dc]
call fcn.0046d9e0
mov edx, dword [esi + 0x24]
push edx
mov ecx, eax
call fcn.00464980
jmp case.0x46113f.11
mov eax, dword [ebx + 0x34c]
mov edi, dword [eax]
add ebx, 0x348
lea esp, [esp]
cmp ebx, ebx
mov eax, dword [ebx + 4]
mov dword [esp + 0xa4], eax
je 0x461b23
call fcn.0081ff70
cmp edi, dword [esp + 0xa4]
je 0x461b4b
cmp edi, dword [ebx + 4]
jne 0x461b36
call fcn.0081ff70
mov byte [edi + 0xa1], 0xfb
cmp edi, dword [ebx + 4]
jne 0x461b47
call fcn.0081ff70
mov edi, dword [edi]
jmp 0x461b10
cmp dword [esi + 0x1c], 0
je case.0x46113f.11
xor eax, eax
mov dword [esp + 0x1f0], eax
mov dword [esp + method.IColor.virtual_0], vtable.CSprite.0
mov byte [esp + 0x280], al
mov byte [esp + 0x281], 5
mov dword [esp + 0x1e8], eax
mov edi, dword [ebx + 4]
mov edx, dword [edi + 4]
lea ecx, [esp + 0x1e8]
push ecx
push edx
push edi
mov ecx, ebx
mov dword [esp + 0x2bc], 7
call fcn.0045d630
push 1
mov ecx, ebx
mov dword [esp + 0x20], eax
call fcn.0045d8a0
mov ecx, dword [esp + 0x1c]
mov dword [edi + 4], ecx
mov eax, dword [ecx + 4]
mov dword [eax], ecx
lea ecx, [esp + 0x1e8]
mov dword [esp + 0x2b0], 0xffffffff
call fcn.0045c3f0
cmp dword [esi + 0x20], 0x10
jb 0x461bdc
mov esi, dword [esi + 0xc]
jmp 0x461bdf
add esi, 0xc
mov eax, dword [ebx + 4]
mov edi, dword [eax + 4]
cmp edi, eax
jne 0x461bee
call fcn.0081ff70
cmp edi, dword [ebx + 4]
jne 0x461bf8
call fcn.0081ff70
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x7c]
push ecx
push esi
lea edx, [esp + 0x9c]
push edx
mov ecx, 0x89ff08
call fcn.00405030
mov eax, dword [eax]
mov dword [edi + 8], eax
mov eax, dword [ebx + 4]
mov esi, dword [eax + 4]
cmp esi, eax
jne 0x461c29
call fcn.0081ff70
cmp esi, dword [ebx + 4]
jne 0x461c33
call fcn.0081ff70
mov eax, dword [ebx + 4]
lea edi, [esi + 0xc]
mov esi, dword [eax + 4]
cmp esi, eax
jne 0x461c45
call fcn.0081ff70
cmp esi, dword [ebx + 4]
jne 0x461c4f
call fcn.0081ff70
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x78]
mov edx, dword [edi]
mov edx, dword [edx + 0x14]
push eax
mov eax, dword [esi + 8]
push ecx
push 0
push 0
push eax
mov ecx, edi
call edx
mov eax, dword [ebx + 4]
mov esi, dword [eax + 4]
cmp esi, eax
jne 0x461c79
call fcn.0081ff70
cmp esi, dword [ebx + 4]
jne 0x461c83
call fcn.0081ff70
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 4]
lea ecx, [esi + 0xc]
push 0xffffff
call edx
jmp case.0x46113f.11
mov ecx, dword [esi + 0x2c]
cmp ecx, edi
mov dword [esp + 0x28], 5
je 0x461cc0
mov eax, 0xff
cdq
idiv ecx
cmp eax, 1
mov dword [esp + 0x28], eax
jg 0x461cc0
mov dword [esp + 0x28], 1
mov eax, dword [ebx + 0x358]
mov edi, dword [eax]
add ebx, 0x354
mov edi, edi
cmp ebx, ebx
mov eax, dword [ebx + 4]
mov dword [esp + 0xb0], eax
je 0x461ce3
call fcn.0081ff70
cmp edi, dword [esp + 0xb0]
je 0x461d10
cmp edi, dword [ebx + 4]
jne 0x461cf6
call fcn.0081ff70
mov cl, byte [esp + 0x28]
neg cl
mov byte [edi + 0xa1], cl
cmp edi, dword [ebx + 4]
jne 0x461d0c
call fcn.0081ff70
mov edi, dword [edi]
jmp 0x461cd0
xor eax, eax
mov dword [esp + 0x154], eax
mov dword [esp + method.IColor.virtual_0], vtable.CSprite.0
mov byte [esp + 0x1e4], al
mov byte [esp + 0x1e5], 5
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0x3c]
mov edi, dword [ecx + 0x358]
mov eax, dword [edi + 4]
add ecx, 0x354
lea edx, [esp + 0x14c]
push edx
push eax
push edi
mov dword [esp + 0x2bc], 8
call fcn.0045d630
mov ecx, dword [esp + 0x3c]
push 1
add ecx, 0x354
mov ebx, eax
call fcn.0045d8a0
mov dword [edi + 4], ebx
mov eax, dword [ebx + 4]
lea ecx, [esp + 0x14c]
mov dword [eax], ebx
mov dword [esp + 0x2b0], 0xffffffff
call fcn.0045c3f0
mov ecx, dword [esi + 0x1c]
push 5
lea edi, [esi + 8]
push str.BLACK
push ecx
push 0
mov ecx, edi
call fcn.00405c70
test eax, eax
jne 0x461e86
mov edi, dword [esp + 0x3c]
mov eax, dword [edi + 0x358]
mov esi, dword [eax + 4]
cmp esi, eax
jne 0x461dce
call fcn.0081ff70
cmp esi, dword [edi + 0x358]
jne 0x461ddb
call fcn.0081ff70
mov dword [esi + 8], 0
mov eax, dword [edi + 0x358]
mov esi, dword [eax + 4]
cmp esi, eax
jne 0x461df4
call fcn.0081ff70
cmp esi, dword [edi + 0x358]
jne 0x461e01
call fcn.0081ff70
push 0x1e0
push 0x280
push 0
lea ecx, [esi + 0xc]
push 0
push ecx
mov eax, esp
mov dword [eax], 0
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
mov dword [esp + 0x30], esp
call eax
mov eax, dword [edi + 0x358]
mov esi, dword [eax + 4]
cmp esi, eax
jne 0x461e38
call fcn.0081ff70
cmp esi, dword [edi + 0x358]
jne 0x461e45
call fcn.0081ff70
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 4]
lea ecx, [esi + 0xc]
push 0
call eax
mov eax, dword [edi + 0x358]
mov esi, dword [eax + 4]
cmp esi, eax
jne 0x461e64
call fcn.0081ff70
cmp esi, dword [edi + 0x358]
jne 0x461e71
call fcn.0081ff70
mov eax, dword [esp + 0x28]
mov byte [esi + 0xa1], al
mov dword [edi + 0x854], eax
jmp case.0x46113f.11
cmp dword [esi + 0x1c], 0
je case.0x46113f.11
cmp dword [edi + 0x18], 0x10
jb 0x461e9f
mov ecx, dword [edi + 4]
mov dword [esp + 0x1c], ecx
jmp 0x461ea6
add edi, 4
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x3c]
mov eax, dword [edi + 0x358]
mov ebx, dword [eax + 4]
add edi, 0x354
cmp ebx, eax
jne 0x461ec2
call fcn.0081ff70
cmp ebx, dword [edi + 4]
jne 0x461ecc
call fcn.0081ff70
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x80]
push eax
push ecx
lea edx, [esp + 0xa0]
push edx
mov ecx, 0x89ff08
call fcn.00405030
mov eax, dword [eax]
mov dword [ebx + 8], eax
mov eax, dword [edi + 4]
mov ebx, dword [eax + 4]
cmp ebx, eax
jne 0x461f04
call fcn.0081ff70
cmp ebx, dword [edi + 4]
jne 0x461f0e
call fcn.0081ff70
mov eax, dword [edi + 4]
add ebx, 0xc
mov dword [esp + 0x1c], ebx
mov ebx, dword [eax + 4]
cmp ebx, eax
jne 0x461f24
call fcn.0081ff70
cmp ebx, dword [edi + 4]
jne 0x461f2e
call fcn.0081ff70
mov eax, dword [esi + 0x28]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
neg eax
push eax
mov eax, dword [esi + 0x24]
neg eax
push eax
mov eax, dword [esp + 0x7c]
push eax
mov eax, dword [esp + 0x88]
push eax
mov eax, dword [ebx + 8]
push 0
push 0
push eax
call edx
mov eax, dword [edi + 4]
mov esi, dword [eax + 4]
cmp esi, eax
jne 0x461f69
call fcn.0081ff70
cmp esi, dword [edi + 4]
jne 0x461f73
call fcn.0081ff70
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 4]
lea ecx, [esi + 0xc]
push 0xffffff
call edx
mov eax, dword [edi + 4]
mov esi, dword [eax + 4]
cmp esi, eax
jne 0x461f92
call fcn.0081ff70
cmp esi, dword [edi + 4]
jne 0x461f9c
call fcn.0081ff70
mov al, byte [esp + 0x28]
mov byte [esi + 0xa1], al
jmp case.0x46113f.11
mov ecx, dword [esi + 8]
mov dword [ebx + 0x850], ecx
mov byte [ebx + 0x845], 1
jmp case.0x46113f.11
push str.Start
lea ecx, [esi + 8]
call fcn.00412bf0
test eax, eax
je 0x460e00
jmp case.0x46113f.11
cmp dword [esi + 0x20], 0x10
jb 0x461fe5
mov eax, dword [esi + 0xc]
jmp 0x461fe8
lea eax, [esi + 0xc]
push eax
lea edi, [ebx + 0x1fc]
push 0x100
push edi
call fcn.00820c26
mov edx, dword [esi + 0x24]
mov dword [ebx + 0x304], edx
mov eax, dword [esi + 0x28]
xor ecx, ecx
mov dword [edi + 0x118], ecx
mov dword [edi + 0x11c], eax
mov esi, dword [esi + 0x2c]
add esp, 0xc
mov dword [edi + 0x120], ecx
push edi
lea ecx, [ebx + 0x68]
mov dword [edi + 0x124], esi
call fcn.00411840
jmp case.0x46113f.11
cmp dword [ebx + 0x818], edi
je 0x46204c
push str.__color_
lea ecx, [ebx + 0x7e8]
call fcn.00408560
lea edi, [esi + 8]
push 0x85a0c0
push edi
call fcn.00412ca0
add esp, 8
test al, al
je 0x462076
push 0x871030
lea ecx, [ebx + 0x804]
call fcn.0040d4a0
jmp case.0x46113f.11
lea esi, [ebx + 0x804]
push 0x85a0b8
mov ecx, esi
call fcn.0040d4a0
push 0xffffffffffffffff
push 0
push edi
mov ecx, esi
call fcn.004087b0
push 0x85a0b4
mov ecx, esi
call fcn.00408560
push 0xffffffffffffffff
push 0
push esi
lea ecx, [ebx + 0x7e8]
call fcn.004087b0
jmp case.0x46113f.11
mov al, byte [esi + 8]
test al, al
je 0x4620e0
movzx edx, byte [esi + 0xa]
xor ecx, ecx
mov ch, al
movzx eax, byte [esi + 0xb]
mov cl, byte [esi + 9]
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x338], ecx
jmp case.0x46113f.11
mov dword [ebx + 0x338], edi
jmp case.0x46113f.11
fild dword [esi + 8]
fstp dword [ebx + 0x328]
fild dword [esi + 0xc]
fstp dword [ebx + 0x32c]
jmp case.0x46113f.11
cmp dword [esi + 8], edi
je 0x462184
mov ecx, dword [ebx + 0x340]
mov eax, dword [ecx]
lea edi, [ebx + 0x33c]
mov esi, edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
test esi, esi
mov edx, dword [edi + 4]
mov dword [esp + 0x8c], edx
je 0x462135
cmp esi, edi
je 0x46213a
call fcn.0081ff70
mov eax, dword [esp + 0x8c]
cmp dword [esp + 0x18], eax
je 0x462178
test esi, esi
jne 0x462150
call fcn.0081ff70
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esi + 4]
jne 0x46215e
call fcn.0081ff70
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x14]
mov byte [edx + 0xfe], 0
call fcn.0045c870
mov esi, dword [esp + 0x14]
jmp 0x462123
mov byte [ebx + 0x841], 0
jmp case.0x46113f.11
mov eax, dword [ebx + 0x340]
mov edi, dword [eax]
add ebx, 0x33c
mov esi, ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
lea esp, [esp]
test esi, esi
mov ecx, dword [ebx + 4]
mov dword [esp + 0x70], ecx
je 0x4621af
cmp esi, ebx
je 0x4621b4
call fcn.0081ff70
cmp edi, dword [esp + 0x70]
je case.0x46113f.11
test esi, esi
jne 0x4621c7
call fcn.0081ff70
cmp edi, dword [esi + 4]
jne 0x4621d1
call fcn.0081ff70
lea ecx, [esp + 0x14]
mov byte [edi + 0xfe], 1
call fcn.0045c870
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
jmp 0x4621a0
mov edx, dword [esi + 8]
mov dword [ebx + 0x84c], edx
jmp 0x460e00
mov ecx, dword [esp + 0x24]
call fcn.0045bdd0
jmp 0x460e00
push 0x3e8
push 0x1388
call fcn.0043e180
add esp, 8
mov dword [ebx + 0x848], 1
mov byte [ebx + 0x845], 1
jmp 0x460e00
mov eax, dword [ebx + 0x340]
mov eax, dword [eax]
lea edi, [ebx + 0x33c]
mov esi, edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
test esi, esi
mov ecx, dword [edi + 4]
mov dword [esp + 0x70], ecx
je 0x462256
cmp esi, edi
je 0x46225b
call fcn.0081ff70
mov edx, dword [esp + 0x70]
cmp dword [esp + 0x18], edx
je 0x462296
test esi, esi
jne 0x46226e
call fcn.0081ff70
mov eax, dword [esp + 0x18]
cmp eax, dword [esi + 4]
jne 0x46227c
call fcn.0081ff70
mov ecx, dword [esp + 0x18]
mov byte [ecx + 0xfe], 0
lea ecx, [esp + 0x14]
call fcn.0045c870
mov esi, dword [esp + 0x14]
jmp 0x462247
mov byte [ebx + 0x841], 0
mov byte [ebx + 0x843], 1
mov ecx, dword [0x8985dc]
push 3
call fcn.0046ea50
or al, 0xff
jmp 0x460e02