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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
mov eax, dword [0x70a034]
xor eax, esp
mov dword [esp + 0x38], eax
cmp byte [edx + 0x6cc7d8], 0
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ecx]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0xc], edi
jne 0x5041f8
cmp ebx, dword [ecx + 0x4b8]
jb 0x5041f8
call fcn.005040f0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00625325
mov esp, ebp
pop ebp
ret
cmp edx, 0x142
ja case.0x504204.216
jmp dword [edx*4 + 0x50639c]
mov byte [edi + 0xc7], 1
jmp case.0x504204.216
mov byte [edi + 0xc7], 2
jmp case.0x504204.216
mov ecx, edi
call fcn.004c5510
jmp case.0x504204.216
mov edx, dword [ebx - 8]
mov ecx, edi
call fcn.004cba10
jmp case.0x504204.216
mov dword [ebx + 0x10], 7
jmp case.0x504204.216
movzx eax, word [ebx + 2]
mov dword [ebx + 4], eax
jmp case.0x504204.216
movzx edx, word [ebx - 0xa]
mov ecx, edi
call fcn.004cbb90
jmp case.0x504204.216
lea eax, [ebx + 4]
xor edx, edx
push eax
mov ecx, edi
call fcn.004cbc00
add esp, 4
jmp case.0x504204.216
lea eax, [ebx + 4]
mov edx, 1
push eax
mov ecx, edi
call fcn.004cbc00
add esp, 4
jmp case.0x504204.216
lea eax, [ebx + 4]
mov edx, 2
push eax
mov ecx, edi
call fcn.004cbc00
add esp, 4
jmp case.0x504204.216
push dword [ebx - 0x14]
lea eax, [ebx + 4]
mov ecx, edi
push 0
push 0
push dword [ebx - 0x2c]
lea edx, [ebx - 8]
push eax
call fcn.004c6ad0
add esp, 0x14
jmp case.0x504204.216
mov eax, dword [edi]
inc byte [edi + 0x18]
inc dword [eax + 0x118]
jmp case.0x504204.216
mov dword [ebx - 0x14], 1
jmp case.0x504204.216
mov dword [ebx + 4], 1
jmp case.0x504204.216
movzx eax, byte [ebx + 4]
lea edx, [ebx - 0x14]
push 0
push eax
lea eax, [ebx - 8]
mov ecx, edi
push eax
call fcn.004c85c0
add esp, 0xc
jmp case.0x504204.216
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
push 0
push 0
call fcn.004c85c0
mov edx, dword [ebx + 4]
add esp, 0xc
test edx, edx
je case.0x504204.216
mov ecx, dword [edi]
push 1
call fcn.004de400
add esp, 4
jmp case.0x504204.216
mov esi, dword [ebx + 8]
cmp esi, 5
jne 0x504368
push esi
push 0x711e90
push dword [ebx + 4]
call fcn.00483a60
add esp, 0xc
test eax, eax
jne 0x504368
mov dword [ebx - 8], 0x60
jmp case.0x504204.216
push dword [ebx + 4]
mov dword [ebx - 8], 0
push esi
push 0x711e74
push edi
call fcn.00483850
add esp, 0x10
jmp case.0x504204.216
lea eax, [ebx + 4]
mov ecx, edi
push eax
lea edx, [ebx - 8]
call fcn.004c6f30
add esp, 4
jmp case.0x504204.216
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
jmp case.0x504204.216
mov eax, dword [ebx + 8]
sub eax, dword [ebx - 0x20]
add eax, dword [ebx + 4]
mov dword [ebx - 0x1c], eax
jmp case.0x504204.216
mov eax, dword [ebx + 8]
sub eax, dword [ebx - 0x38]
add eax, dword [ebx + 4]
mov dword [ebx - 0x34], eax
jmp case.0x504204.216
mov eax, dword [ebx + 8]
sub eax, dword [ebx - 8]
add eax, dword [ebx + 4]
mov dword [ebx - 4], eax
jmp case.0x504204.216
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], esi
jmp case.0x504204.216
mov eax, dword [ebx + 4]
mov dword [edi + 0x48], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0x4c], eax
jmp case.0x504204.216
mov ecx, dword [ebx - 8]
mov eax, dword [ebx - 4]
mov edx, dword [ebx + 4]
add eax, ecx
push eax
push ecx
mov ecx, edi
call fcn.004c72d0
add esp, 8
jmp case.0x504204.216
mov eax, dword [ebx - 0x14]
mov ecx, edi
push dword [ebx + 4]
mov edx, dword [ebx - 8]
inc eax
push eax
call fcn.004c72d0
add esp, 8
jmp case.0x504204.216
mov eax, dword [ebx - 8]
mov ecx, edi
add eax, dword [ebx - 4]
mov edx, dword [ebx + 4]
push eax
push dword [ebx - 0x14]
call fcn.004c72d0
add esp, 8
jmp case.0x504204.216
push 0
push dword [ebx + 4]
mov edx, 0xa8
mov ecx, edi
call fcn.004b8670
mov ecx, dword [ebx - 8]
mov edx, eax
add ecx, dword [ebx - 4]
push ecx
push dword [ebx - 0x14]
mov ecx, edi
call fcn.004c72d0
add esp, 0x10
jmp case.0x504204.216
push dword [ebx + 8]
mov edx, 0x71
mov ecx, edi
push dword [ebx + 4]
call fcn.00503d00
mov esi, eax
add esp, 8
test esi, esi
je 0x50449e
mov ecx, esi
call fcn.004b9e70
mov edx, dword [ebx + 4]
mov ecx, dword [ebx + 8]
add ecx, edx
push ecx
push edx
mov edx, esi
mov ecx, edi
call fcn.004c72d0
add esp, 8
jmp case.0x504204.216
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004c7140
jmp case.0x504204.216
push dword [ebx - 0x14]
xor edx, edx
mov ecx, edi
push dword [ebx + 4]
push dword [ebx - 8]
call fcn.004c74a0
add esp, 0xc
jmp case.0x504204.216
push 1
push 0
push 0
push 0
push 0
push dword [ebx + 4]
push 0
push 0
push 0
xor edx, edx
mov ecx, edi
call fcn.004ca200
add esp, 0x24
jmp case.0x504204.216
mov edx, dword [ebx - 8]
mov ecx, edi
call fcn.004c76f0
jmp case.0x504204.216
push dword [ebx + 4]
lea eax, [ebx - 0x14]
xor edx, edx
push dword [ebx - 8]
mov ecx, edi
push eax
call fcn.004c98e0
add esp, 0xc
jmp case.0x504204.216
mov eax, dword [edi + 0xe4]
test eax, eax
je case.0x504204.216
mov ecx, dword [eax + 0x10]
test ecx, ecx
je case.0x504204.216
mov al, byte [ebx + 4]
mov byte [ecx + 0x18], al
jmp case.0x504204.216
lea edx, [ebx + 4]
mov ecx, edi
call fcn.004c7770
jmp case.0x504204.216
mov eax, dword [ebx + 8]
not eax
and eax, dword [ebx - 8]
or eax, dword [ebx + 4]
mov dword [ebx - 8], eax
jmp case.0x504204.216
mov dword [ebx - 8], 0
mov dword [ebx - 4], 0
jmp case.0x504204.216
mov dword [ebx - 0x14], 0
mov dword [ebx - 0x10], 0
jmp case.0x504204.216
mov eax, dword [ebx + 4]
mov dword [ebx - 0x14], eax
mov dword [ebx - 0x10], 0xff
jmp case.0x504204.216
mov eax, dword [ebx + 4]
shl eax, 8
mov dword [ebx - 0x14], eax
mov dword [ebx - 0x10], 0xff00
jmp case.0x504204.216
mov dword [ebx - 8], 8
jmp case.0x504204.216
mov dword [ebx - 8], 9
jmp case.0x504204.216
mov dword [ebx + 4], 0xa
jmp case.0x504204.216
mov dword [ebx + 4], 7
jmp case.0x504204.216
mov dword [ebx - 8], 0
jmp case.0x504204.216
mov dword [ebx - 0x14], 0
jmp case.0x504204.216
mov dword [ebx - 8], 1
jmp case.0x504204.216
mov dword [edi + 0x4c], 0
jmp case.0x504204.216
mov edx, dword [ebx - 0x20]
mov ecx, edi
push 0
push dword [ebx - 0x14]
push dword [ebx + 4]
call fcn.004c74a0
add esp, 0xc
jmp case.0x504204.216
push 1
push 0
push 0
push 0
push 0
push dword [ebx + 4]
push dword [ebx - 0x14]
jmp 0x5044f1
mov edx, dword [ebx - 0x14]
mov ecx, edi
call fcn.004c76f0
jmp case.0x504204.216
push dword [ebx - 8]
mov edx, dword [ebx - 0x44]
lea eax, [ebx - 0x20]
push dword [ebx - 0x14]
mov ecx, edi
push eax
call fcn.004c98e0
mov ecx, dword [edi + 0xe4]
add esp, 0xc
test ecx, ecx
je case.0x504204.216
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je case.0x504204.216
mov al, byte [ebx + 4]
mov byte [ecx + 0x18], al
jmp case.0x504204.216
mov dword [ebx + 0x10], 0xb
jmp case.0x504204.216
mov dword [ebx + 4], 4
jmp case.0x504204.216
mov dword [ebx + 4], 5
jmp case.0x504204.216
push dword [ebx - 8]
mov edx, dword [ebx + 4]
mov ecx, edi
push 0
call fcn.004c9630
add esp, 8
jmp case.0x504204.216
push dword [ebx - 0x38]
lea eax, [ebx - 0x20]
mov ecx, edi
push dword [ebx - 0x50]
lea edx, [ebx - 0x5c]
push dword [ebx + 4]
push dword [ebx - 0x14]
push eax
lea eax, [ebx - 0x2c]
push eax
call fcn.004c8a40
add esp, 0x18
jmp case.0x504204.216
push dword [ebx - 8]
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
call fcn.004c9630
add esp, 8
jmp case.0x504204.216
mov edx, dword [ebx + 4]
lea eax, [esp + 0x24]
xorps xmm0, xmm0
mov byte [esp + 0x24], 9
push eax
mov ecx, edi
mov dword [esp + 0x3c], 0
movups xmmword [esp + 0x2c], xmm0
call fcn.004e6c50
mov edx, dword [ebx + 4]
add esp, 4
test edx, edx
je case.0x504204.216
mov ecx, dword [edi]
push 1
call fcn.004de400
add esp, 4
jmp case.0x504204.216
mov esi, dword [ebx + 4]
test esi, esi
je 0x504775
mov eax, dword [ebx - 8]
mov edx, esi
mov ecx, edi
mov dword [esi + 0x40], eax
call fcn.00503cb0
mov dword [ebx - 0x14], esi
jmp case.0x504204.216
mov edx, dword [ebx - 8]
mov ecx, dword [edi]
call fcn.004cca00
mov dword [ebx - 0x14], esi
jmp case.0x504204.216
mov esi, dword [ebx + 4]
test esi, esi
je 0x5047a5
mov eax, dword [ebx - 8]
mov edx, esi
mov ecx, edi
mov dword [esi + 0x40], eax
call fcn.00503cb0
mov dword [ebx - 0x20], esi
jmp case.0x504204.216
mov edx, dword [ebx - 8]
mov ecx, dword [edi]
call fcn.004cca00
mov dword [ebx - 0x20], esi
jmp case.0x504204.216
mov esi, dword [ebx + 4]
test esi, esi
je 0x5047c7
mov edx, esi
mov ecx, edi
call fcn.00503cb0
mov dword [ebx + 4], esi
jmp case.0x504204.216
mov esi, dword [ebx + 4]
mov ecx, dword [ebx - 0x14]
mov dword [esp + 0x10], ecx
test esi, esi
je 0x5048ca
cmp dword [esi + 0x34], 0
je 0x504896
mov edx, esi
mov ecx, edi
call fcn.00503cb0
mov eax, dword [edi]
xor edx, edx
push 0
push 0
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.004cb540
mov ecx, eax
add esp, 8
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x504833
mov ecx, dword [esp + 0xc]
xor edx, edx
call fcn.004cb250
mov ecx, dword [esp + 0xc]
mov edx, esi
push 1
call fcn.004de400
add esp, 4
xor ecx, ecx
jmp 0x504877
cmp byte [edi + 0xc8], 2
mov eax, dword [ecx]
lea eax, [eax + eax*8]
lea eax, [eax - 8]
lea eax, [ecx + eax*8]
mov dword [esp + 0xc], eax
jb 0x504866
mov edx, dword [eax + 8]
test edx, edx
je 0x504866
push 0
mov ecx, edi
call fcn.004c0e30
mov ecx, dword [esp + 0x1c]
add esp, 4
mov eax, dword [esp + 0xc]
mov dword [eax + 0x14], esi
mov dword [eax + 0x30], 0
mov dword [eax + 0x34], 0
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
xor edx, edx
mov ecx, edi
call fcn.004de560
mov ecx, dword [esp + 0x2c]
add esp, 0x1c
mov esi, eax
test esi, esi
je 0x5048ca
mov al, byte [ebx - 8]
mov byte [esi + 4], al
mov dword [esi + 0x34], ecx
test ecx, ecx
je 0x5048ae
and dword [ecx + 8], 0xfffffbff
and dword [esi + 8], 0xfffffbff
cmp dword [ebx - 8], 0x83
je 0x5048dc
mov byte [edi + 0x16], 1
mov dword [ebx - 0x14], esi
jmp case.0x504204.216
test ecx, ecx
je 0x5048dc
mov edx, ecx
mov ecx, dword [edi]
push 1
call fcn.004de400
add esp, 4
mov dword [ebx - 0x14], esi
jmp case.0x504204.216
mov dword [ebx - 8], 0x83
jmp case.0x504204.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x44]
mov ecx, edi
push dword [ebx - 0x50]
push dword [ebx - 8]
push dword [ebx - 0x14]
push dword [ebx - 0x20]
push dword [ebx - 0x2c]
push dword [ebx - 0x38]
call fcn.004de560
add esp, 0x1c
mov dword [ebx - 0x5c], eax
jmp case.0x504204.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x50]
mov ecx, edi
push dword [ebx - 0x5c]
push dword [ebx - 8]
push dword [ebx - 0x20]
push dword [ebx - 0x2c]
push dword [ebx - 0x38]
push dword [ebx - 0x44]
call fcn.004de560
add esp, 0x1c
mov dword [ebx - 0x68], eax
test eax, eax
je 0x50494e
mov ecx, dword [ebx - 0x14]
mov dword [eax + 0x48], ecx
jmp case.0x504204.216
mov edx, dword [ebx - 0x14]
mov ecx, dword [edi]
call fcn.004fef00
jmp case.0x504204.216
mov edx, dword [ebx - 8]
mov ecx, edi
push 0
push 0x200
push 0
push 0
push 0
push 0
push 0
call fcn.004de560
add esp, 0x1c
mov dword [ebx - 0x20], eax
jmp case.0x504204.216
mov edx, dword [ebx - 8]
mov ecx, edi
mov esi, dword [ebx - 0x2c]
push 0
push 0x600
push 0
push 0
push 0
push 0
push 0
call fcn.004de560
add esp, 0x1c
test esi, esi
je 0x5049af
and dword [esi + 8], 0xfffffbff
test eax, eax
je 0x50551c
mov byte [eax + 4], 0x83
mov dword [eax + 0x34], esi
jmp 0x506080
mov dword [ebx + 4], 2
jmp case.0x504204.216
push dword [ebx - 0x14]
mov edx, dword [ebx - 0x2c]
mov ecx, edi
call fcn.004b98a0
add esp, 4
mov dword [ebx - 0x2c], eax
cmp dword [ebx + 8], 0
jbe 0x5049fa
lea ecx, [ebx + 4]
mov edx, eax
push 1
push ecx
mov ecx, edi
call fcn.004b9b30
add esp, 8
push dword [ebx - 8]
mov edx, dword [ebx - 0x2c]
mov ecx, edi
push dword [ebx - 0x20]
call fcn.004b9bd0
add esp, 8
jmp case.0x504204.216
mov ecx, dword [edi]
lea eax, [esp + 0x3c]
push 0
push eax
mov edx, 0xaf
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
call fcn.004b84b0
mov edx, dword [ebx - 0x14]
mov ecx, edi
push eax
call fcn.004b98a0
add esp, 0xc
mov dword [ebx - 0x14], eax
jmp case.0x504204.216
push 0
push 0
mov edx, 0xaf
mov ecx, edi
call fcn.004b8670
lea ecx, [ebx - 0x14]
mov edx, 0x3b
push 1
push ecx
mov ecx, dword [edi]
mov esi, eax
call fcn.004b84b0
push esi
push eax
mov edx, 0x89
mov ecx, edi
call fcn.004b8670
mov edx, dword [ebx - 0x2c]
mov ecx, edi
push eax
call fcn.004b98a0
add esp, 0x1c
jmp 0x506080
mov eax, dword [ebx + 4]
mov dword [ebx - 8], eax
mov eax, dword [ebx + 8]
mov dword [ebx - 4], eax
jmp case.0x504204.216
mov ecx, dword [edi]
push 0
push 0x50
call fcn.00480600
add esp, 8
mov dword [ebx + 0x10], eax
jmp case.0x504204.216
mov ecx, dword [ebx + 4]
mov dword [ebx - 8], ecx
call fcn.004cb9e0
jmp case.0x504204.216
mov edx, dword [ebx - 8]
test edx, edx
je case.0x504204.216
mov eax, dword [edx]
test eax, eax
jle case.0x504204.216
lea ecx, [eax + eax*8]
mov al, byte [ebx + 4]
mov byte [edx + ecx*8 - 0x1c], al
jmp case.0x504204.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x44]
lea eax, [ebx - 0x20]
push dword [ebx - 8]
mov ecx, edi
push 0
push eax
lea eax, [ebx - 0x2c]
push eax
lea eax, [ebx - 0x38]
push eax
call fcn.004cb880
lea ecx, [ebx - 0x14]
mov dword [ebx - 0x44], eax
push ecx
mov edx, eax
mov ecx, edi
call fcn.004cb970
add esp, 0x1c
jmp case.0x504204.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x5c]
lea eax, [ebx - 0x14]
push dword [ebx - 8]
mov ecx, edi
push 0
push eax
lea eax, [ebx - 0x44]
push eax
lea eax, [ebx - 0x50]
push eax
call fcn.004cb880
push dword [ebx - 0x2c]
mov edx, eax
mov dword [ebx - 0x5c], eax
mov ecx, edi
call fcn.004cb9b0
add esp, 0x1c
jmp case.0x504204.216
push dword [ebx + 4]
push dword [ebx - 8]
push dword [ebx - 0x2c]
mov edx, dword [ebx - 0x44]
lea eax, [ebx - 0x14]
push eax
push 0
push 0
mov ecx, edi
call fcn.004cb880
add esp, 0x18
mov dword [ebx - 0x44], eax
jmp case.0x504204.216
mov edx, dword [ebx - 0x44]
test edx, edx
jne 0x504b9d
cmp dword [ebx - 0x10], edx
jne 0x504b9d
cmp dword [ebx - 8], edx
jne 0x504b9d
cmp dword [ebx + 4], edx
jne 0x504b9d
mov eax, dword [ebx - 0x2c]
mov dword [ebx - 0x44], eax
jmp case.0x504204.216
mov ecx, dword [ebx - 0x2c]
cmp dword [ecx], 1
jne 0x504c21
push dword [ebx + 4]
lea eax, [ebx - 0x14]
mov ecx, edi
push dword [ebx - 8]
push 0
push eax
push 0
push 0
call fcn.004cb880
add esp, 0x18
mov dword [ebx - 0x44], eax
test eax, eax
je 0x504c12
mov ecx, dword [eax]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*8]
mov ecx, dword [ebx - 0x2c]
mov eax, dword [ecx + 0x10]
mov dword [edx - 0x38], eax
mov eax, dword [ecx + 0xc]
mov dword [edx - 0x3c], eax
mov eax, dword [ecx + 0x1c]
mov dword [edx - 0x2c], eax
test byte [ecx + 0x30], 4
je 0x504bfd
mov eax, dword [ecx + 0x48]
mov dword [edx], eax
and dword [ecx + 0x30], 0xfffffffb
mov dword [ecx + 0x48], 0
or dword [edx - 0x18], 4
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x1c], 0
mov edx, dword [ebx - 0x2c]
mov ecx, dword [edi]
call fcn.004cb660
jmp case.0x504204.216
call fcn.004cb9e0
push 0
push 0x800
push 0
push 0
push 0
push 0
push dword [ebx - 0x2c]
xor edx, edx
mov ecx, edi
call fcn.004de560
add esp, 0x1c
push dword [ebx + 4]
push dword [ebx - 8]
push eax
jmp 0x504b5f
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
jmp case.0x504204.216
mov eax, dword [edi]
mov ecx, eax
push 0
push 0x50
mov dword [esp + 0x18], eax
call fcn.00480700
mov esi, eax
add esp, 8
mov dword [esp + 0x18], esi
test esi, esi
je 0x504cc7
push 0x48
lea eax, [esi + 8]
mov dword [esi + 4], 1
push 0
push eax
mov dword [esi], 1
call fcn.0063e100
mov ecx, dword [esp + 0x1c]
lea edx, [ebx + 4]
mov dword [esi + 0x34], 0xffffffff
add esp, 0xc
mov eax, dword [esi]
lea eax, [eax + eax*8]
lea esi, [esi + eax*8]
call fcn.004c6700
mov dword [esi - 0x38], eax
mov dword [esi - 0x3c], 0
mov esi, dword [esp + 0x18]
cmp byte [edi + 0xc8], 2
jb 0x504ce5
test esi, esi
je 0x504ce5
mov edx, dword [esi + 0x10]
lea eax, [ebx + 4]
push eax
mov ecx, edi
call fcn.004c0e30
add esp, 4
mov dword [ebx + 4], esi
jmp case.0x504204.216
lea ecx, [ebx + 4]
xor edx, edx
push ecx
lea eax, [ebx - 0x14]
mov ecx, edi
push eax
call fcn.004cb540
add esp, 8
mov esi, eax
cmp byte [edi + 0xc8], 2
jb 0x5048dc
test esi, esi
je 0x5048dc
mov edx, dword [esi + 0x10]
lea eax, [ebx + 4]
push eax
mov ecx, edi
call fcn.004c0e30
add esp, 4
mov dword [ebx - 0x14], esi
jmp case.0x504204.216
mov eax, dword [edi]
mov ecx, eax
push 0
push 0x50
mov dword [esp + 0x18], eax
call fcn.00480700
mov edi, eax
add esp, 8
test edi, edi
jne 0x504d53
mov dword [ebx + 4], edi
jmp case.0x504204.216
push 0x48
lea eax, [edi + 8]
mov dword [edi + 4], 1
push 0
push eax
mov dword [edi], 1
call fcn.0063e100
mov ecx, dword [esp + 0x1c]
lea edx, [ebx + 4]
mov dword [edi + 0x34], 0xffffffff
add esp, 0xc
mov eax, dword [edi]
lea eax, [eax + eax*8]
lea esi, [edi + eax*8]
call fcn.004c6700
mov dword [esi - 0x38], eax
mov dword [esi - 0x3c], 0
mov dword [ebx + 4], edi
jmp case.0x504204.216
lea eax, [ebx + 4]
xor edx, edx
push eax
lea esi, [ebx - 0x14]
mov ecx, edi
push esi
call fcn.004cb540
add esp, 8
mov dword [esi], eax
jmp case.0x504204.216
lea eax, [ebx - 0x14]
xor edx, edx
push eax
lea esi, [ebx - 0x2c]
mov ecx, edi
push esi
call fcn.004cb540
add esp, 8
mov dword [esi], eax
test eax, eax
je case.0x504204.216
mov ecx, dword [edi]
lea edx, [ebx + 4]
call fcn.004c6700
mov ecx, dword [esi]
mov dword [ecx + 0x14], eax
jmp case.0x504204.216
mov eax, dword [edi]
mov ecx, eax
push 0
push 0x50
mov dword [esp + 0x18], eax
call fcn.00480700
mov esi, eax
add esp, 8
mov dword [esp + 0x18], esi
test esi, esi
je 0x504e4e
push 0x48
lea eax, [esi + 8]
mov dword [esi + 4], 1
push 0
push eax
mov dword [esi], 1
call fcn.0063e100
mov ecx, dword [esp + 0x1c]
lea edx, [ebx - 0x14]
mov dword [esi + 0x34], 0xffffffff
add esp, 0xc
mov eax, dword [esi]
lea eax, [eax + eax*8]
lea esi, [esi + eax*8]
call fcn.004c6700
mov dword [esi - 0x38], eax
mov eax, dword [esp + 0x18]
mov dword [esi - 0x3c], 0
mov dword [ebx - 0x14], eax
test eax, eax
je case.0x504204.216
mov ecx, dword [edi]
lea edx, [ebx + 4]
call fcn.004c6700
mov ecx, dword [ebx - 0x14]
mov dword [ecx + 0x14], eax
jmp case.0x504204.216
push 0
push 0
lea edx, [ebx - 8]
mov ecx, edi
call fcn.004de740
add esp, 8
mov dword [ebx - 8], eax
jmp case.0x504204.216
lea eax, [ebx - 8]
mov ecx, edi
push 0
push eax
lea edx, [ebx - 0x14]
call fcn.004de740
add esp, 8
mov dword [ebx - 0x14], eax
jmp case.0x504204.216
lea eax, [ebx - 8]
mov ecx, edi
push eax
lea eax, [ebx - 0x14]
push eax
lea edx, [ebx - 0x20]
call fcn.004de740
add esp, 8
mov dword [ebx - 0x20], eax
jmp case.0x504204.216
mov eax, dword [ebx + 4]
mov dword [ebx - 0x14], eax
mov eax, dword [ebx + 8]
mov dword [ebx - 0x10], eax
jmp case.0x504204.216
mov dword [ebx - 8], 0
mov dword [ebx - 4], 1
jmp case.0x504204.216
mov eax, dword [ebx - 8]
mov dword [ebx - 0x20], eax
jmp case.0x504204.216
push dword [ebx - 0x14]
mov edx, dword [ebx - 0x2c]
mov ecx, edi
call fcn.004b98a0
mov dword [ebx - 0x2c], eax
mov edx, dword [ebx - 8]
add esp, 4
mov ecx, eax
push dword [ebx + 4]
call fcn.004b9af0
add esp, 4
jmp case.0x504204.216
push dword [ebx - 0x14]
xor edx, edx
mov ecx, edi
call fcn.004b98a0
mov dword [ebx - 0x14], eax
jmp 0x504efe
mov dword [ebx + 0x10], 0xffffffff
jmp case.0x504204.216
push 0
push dword [ebx + 4]
mov edx, 0x90
mov ecx, edi
call fcn.004b8670
add esp, 8
mov dword [ebx - 8], eax
jmp case.0x504204.216
push dword [ebx + 4]
push dword [ebx - 0x14]
mov edx, 0x90
mov ecx, edi
call fcn.004b8670
add esp, 8
mov dword [ebx - 0x20], eax
jmp case.0x504204.216
push dword [ebx - 0x14]
push dword [ebx + 4]
jmp 0x504f55
mov edx, dword [ebx - 0x14]
lea eax, [ebx - 8]
push eax
mov ecx, edi
call fcn.004cb970
mov edx, dword [ebx - 0x14]
push ecx
push dword [ebx + 4]
mov ecx, edi
call fcn.004cd8f0
add esp, 0xc
jmp case.0x504204.216
mov edx, dword [ebx - 0x2c]
lea eax, [ebx - 0x20]
push eax
mov ecx, edi
call fcn.004cb970
mov edx, dword [ebx - 8]
add esp, 4
mov ecx, edi
push 0x711eb0
call fcn.004b9c50
mov edx, dword [ebx - 0x2c]
add esp, 4
mov ecx, edi
push 0
sub esp, 8
push dword [ebx - 0x38]
push dword [ebx + 4]
push dword [ebx - 8]
call fcn.004eb4d0
add esp, 0x18
jmp case.0x504204.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x2c]
mov ecx, edi
call fcn.004b98a0
add esp, 4
mov dword [ebx - 0x2c], eax
lea ecx, [ebx - 0x14]
mov edx, eax
push 1
push ecx
mov ecx, edi
call fcn.004b9b30
add esp, 8
jmp case.0x504204.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x44]
mov ecx, edi
push dword [ebx - 0x20]
call fcn.004b9960
add esp, 8
mov dword [ebx - 0x44], eax
jmp case.0x504204.216
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
call fcn.004b98a0
mov ecx, dword [esp + 0x10]
lea esi, [ebx - 0x14]
add esp, 4
mov edi, eax
mov edx, edi
push 1
push esi
call fcn.004b9b30
add esp, 8
mov dword [esi], edi
jmp case.0x504204.216
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
push dword [ebx - 0x20]
call fcn.004b9960
add esp, 8
jmp 0x506080
push dword [ebx + 4]
mov edx, dword [ebx - 0x20]
mov ecx, edi
push dword [ebx - 0x38]
push dword [ebx - 0x14]
push dword [ebx - 8]
call fcn.004d4d10
add esp, 0x10
jmp case.0x504204.216
mov edx, dword [ebx - 0x20]
mov ecx, edi
push 0
push dword [ebx - 0x38]
push dword [ebx - 0x14]
push 0
call fcn.004d4d10
add esp, 0x10
jmp case.0x504204.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x50]
push dword [ebx - 8]
mov ecx, dword [edi]
push dword [ebx - 0x38]
call fcn.004edb60
add esp, 0xc
mov dword [ebx - 0x74], eax
jmp case.0x504204.216
mov edx, dword [ebx - 0x2c]
mov ecx, dword [edi]
push 0
push 0
push dword [ebx - 0x14]
call fcn.004edb60
add esp, 0xc
mov dword [ebx - 0x50], eax
jmp case.0x504204.216
mov ecx, dword [edi]
test ecx, ecx
je 0x5050eb
push 0
push 0x24
call fcn.00480700
add esp, 8
jmp 0x50513c
cmp dword [0x70b3b8], 0
je 0x505131
mov eax, dword [0x71cc58]
test eax, eax
je 0x505107
push eax
call dword [0x70b408]
add esp, 4
lea edx, [esp + 0xc]
mov ecx, 0x24
call fcn.00480090
mov eax, dword [0x71cc58]
test eax, eax
je 0x50512b
push eax
call dword [0x70b410]
mov eax, dword [esp + 0x10]
jmp 0x505139
mov eax, dword [esp + 0xc]
jmp 0x50513c
push 0x24
call dword [0x70b3d8]
add esp, 4
test eax, eax
jne 0x505148
mov dword [ebx - 0x20], eax
jmp case.0x504204.216
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [ebx - 0x20], eax
jmp case.0x504204.216
mov eax, dword [ebx - 8]
mov dword [ebx - 0x14], eax
jmp case.0x504204.216
mov edx, dword [ebx - 0x14]
lea eax, [ebx + 4]
push eax
mov ecx, edi
call fcn.004cb160
add esp, 4
mov dword [ebx - 0x14], eax
jmp case.0x504204.216
lea esi, [ebx + 4]
xor edx, edx
push esi
mov ecx, edi
call fcn.004cb160
add esp, 4
mov dword [esi], eax
jmp case.0x504204.216
push dword [ebx + 8]
mov edx, 0x3b
mov ecx, edi
push dword [ebx + 4]
call fcn.00503d00
add esp, 8
mov dword [ebx + 4], eax
jmp case.0x504204.216
mov ecx, dword [edi]
lea esi, [ebx - 0x14]
push 1
push esi
mov edx, 0x3b
call fcn.004b84b0
mov ecx, dword [edi]
mov edx, 0x3b
mov dword [esp + 0x14], eax
lea eax, [ebx + 4]
push 1
push eax
call fcn.004b84b0
add esp, 0x10
mov dword [esp + 0x10], eax
cmp byte [edi + 0xc8], 2
jb 0x505225
lea ecx, [ebx + 4]
mov edx, eax
push ecx
mov ecx, edi
call fcn.004c0e30
mov edx, dword [esp + 0x10]
add esp, 4
mov ecx, edi
push esi
call fcn.004c0e30
mov eax, dword [esp + 0x14]
add esp, 4
push eax
push dword [esp + 0x10]
mov edx, 0x89
mov ecx, edi
call fcn.004b8670
add esp, 8
mov dword [esi], eax
jmp case.0x504204.216
mov ecx, dword [edi]
lea esi, [ebx - 0x2c]
push 1
push esi
mov edx, 0x3b
call fcn.004b84b0
mov ecx, dword [edi]
mov edx, 0x3b
mov dword [esp + 0x44], eax
lea eax, [ebx - 0x14]
push 1
push eax
call fcn.004b84b0
mov ecx, dword [edi]
mov edx, 0x3b
mov dword [esp + 0x1c], eax
lea eax, [ebx + 4]
push 1
push eax
call fcn.004b84b0
push eax
push dword [esp + 0x28]
mov edx, 0x89
mov dword [esp + 0x30], eax
mov ecx, edi
call fcn.004b8670
add esp, 0x20
mov dword [esp + 0x18], eax
cmp byte [edi + 0xc8], 2
jb 0x5052cb
mov edx, dword [esp + 0x10]
lea ecx, [ebx + 4]
push ecx
mov ecx, edi
call fcn.004c0e30
mov edx, dword [esp + 0x10]
lea ecx, [ebx - 0x14]
add esp, 4
push ecx
mov ecx, edi
call fcn.004c0e30
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
push dword [esp + 0x40]
jmp 0x50522a
push dword [ebx + 8]
movzx edx, word [ebx + 2]
mov ecx, edi
push dword [ebx + 4]
call fcn.00503d00
add esp, 8
mov dword [ebx + 4], eax
jmp case.0x504204.216
mov ecx, dword [edi]
lea esi, [ebx + 4]
push 1
push esi
mov edx, 0x96
call fcn.004b84b0
add esp, 8
mov dword [esi], eax
jmp case.0x504204.216
mov eax, dword [ebx + 4]
cmp byte [eax], 0x23
jne 0x505387
movzx eax, byte [eax + 1]
test byte [eax + 0x6cccc0], 4
je 0x505387
cmp byte [edi + 0x12], 0
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x40], eax
jne 0x505355
lea eax, [esp + 0x3c]
push eax
push 0x711e98
push edi
call fcn.00483850
add esp, 0xc
mov dword [ebx + 4], 0
jmp case.0x504204.216
push 0
push 0
mov edx, 0xab
mov ecx, edi
call fcn.004b8670
add esp, 8
mov dword [ebx + 4], eax
test eax, eax
je case.0x504204.216
mov ecx, dword [esp + 0x3c]
lea edx, [eax + 0x1c]
lea ecx, [ecx + 1]
call fcn.00484370
jmp case.0x504204.216
mov esi, dword [ebx + 8]
mov edx, 0x97
push esi
push dword [ebx + 4]
mov ecx, edi
call fcn.00503d00
push esi
mov edx, eax
mov dword [ebx + 4], eax
mov ecx, edi
call fcn.004b88e0
add esp, 0xc
jmp case.0x504204.216
mov edx, dword [ebx - 0x14]
lea eax, [ebx + 4]
push 1
push eax
mov ecx, edi
call fcn.004b79a0
add esp, 8
mov dword [ebx - 0x14], eax
jmp case.0x504204.216
mov ecx, dword [edi]
lea eax, [ebx - 8]
push 1
push eax
mov edx, 0x24
call fcn.004b84b0
mov ecx, eax
add esp, 8
mov eax, dword [ebx - 0x20]
mov dword [ebx - 0x38], ecx
test ecx, ecx
jne 0x505401
test eax, eax
je case.0x504204.216
mov ecx, dword [edi]
mov edx, eax
call fcn.004b8a40
jmp case.0x504204.216
test eax, eax
je 0x505413
mov dword [ecx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [ecx + 4], eax
call fcn.004b83a0
jmp case.0x504204.216
push dword [ebx - 0x14]
mov edx, dword [ebx - 8]
lea esi, [ebx - 0x2c]
push esi
mov ecx, edi
call fcn.004b8830
add esp, 8
mov dword [esi], eax
jmp case.0x504204.216
mov ecx, dword [edi]
lea eax, [ebx - 0x20]
push 1
push eax
mov edx, 0xa7
call fcn.004b84b0
mov esi, eax
add esp, 8
test esi, esi
jne 0x50545b
mov dword [ebx - 0x20], esi
jmp case.0x504204.216
or dword [esi + 4], 4
mov dword [esi + 0x14], 0
cmp dword [edi + 0x24], 0
jne 0x50548c
mov ecx, esi
call fcn.004b83a0
mov eax, dword [edi]
mov eax, dword [eax + 0x78]
cmp dword [esi + 0x18], eax
jle 0x50548c
push eax
push 0x70e0bc
push edi
call fcn.00483850
add esp, 0xc
mov dword [ebx - 0x20], esi
jmp case.0x504204.216
push dword [ebx - 0x20]
mov edx, dword [ebx - 0x14]
lea edi, [ebx - 0x38]
mov ecx, dword [esp + 0x10]
push edi
call fcn.004b8830
push dword [ebx + 4]
mov ecx, dword [esp + 0x18]
mov esi, eax
mov edx, esi
call fcn.004ff3f0
add esp, 0xc
mov dword [edi], esi
jmp case.0x504204.216
mov ecx, dword [edi]
lea eax, [ebx - 0x2c]
push 1
push eax
mov edx, 0xa7
call fcn.004b84b0
mov esi, eax
add esp, 8
test esi, esi
je 0x50550d
or dword [esi + 4], 4
mov dword [esi + 0x14], 0
cmp dword [edi + 0x24], 0
jne 0x50550d
mov ecx, esi
call fcn.004b83a0
mov eax, dword [edi]
mov eax, dword [eax + 0x78]
cmp dword [esi + 0x18], eax
jle 0x50550d
push eax
push 0x70e0bc
push edi
call fcn.00483850
add esp, 0xc
push dword [ebx + 4]
mov edx, esi
mov ecx, edi
call fcn.004ff3f0
add esp, 4
mov dword [ebx - 0x2c], esi
jmp case.0x504204.216
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 1
push eax
mov edx, 0xa7
call fcn.004b84b0
mov esi, eax
add esp, 8
test esi, esi
jne 0x505547
mov dword [ebx + 4], esi
jmp case.0x504204.216
or dword [esi + 4], 4
mov dword [esi + 0x14], 0
cmp dword [edi + 0x24], 0
jne 0x505578
mov ecx, esi
call fcn.004b83a0
mov eax, dword [edi]
mov eax, dword [eax + 0x78]
cmp dword [esi + 0x18], eax
jle 0x505578
push eax
push 0x70e0bc
push edi
call fcn.00483850
add esp, 0xc
mov dword [ebx + 4], esi
jmp case.0x504204.216
push dword [ebx - 8]
mov edx, dword [ebx - 0x20]
mov ecx, edi
call fcn.004b98a0
add esp, 4
mov edx, 0xac
mov ecx, edi
mov esi, eax
push 0
push 0
call fcn.004b8670
add esp, 8
mov dword [ebx - 0x2c], eax
test eax, eax
je 0x5055b4
mov dword [eax + 0x14], esi
jmp case.0x504204.216
test esi, esi
je case.0x504204.216
mov ecx, dword [edi]
mov edx, esi
call fcn.004b9c80
jmp case.0x504204.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x14]
mov ecx, edi
call fcn.004b8780
add esp, 4
mov dword [ebx - 0x14], eax
jmp case.0x504204.216
push dword [ebx + 4]
movzx edx, word [ebx - 0xa]
mov ecx, edi
push dword [ebx - 0x14]
call fcn.004b8670
add esp, 8
mov dword [ebx - 0x14], eax
jmp case.0x504204.216
mov eax, dword [ebx + 4]
mov dword [ebx - 8], eax
mov eax, dword [ebx + 8]
mov dword [ebx - 4], eax
or dword [ebx - 4], 0x80000000
jmp case.0x504204.216
mov esi, dword [ebx - 4]
xor edx, edx
push dword [ebx + 4]
mov eax, esi
mov ecx, edi
and eax, 0x7fffffff
mov dword [ebx - 4], eax
call fcn.004b98a0
add esp, 4
mov edx, eax
mov ecx, edi
push dword [ebx - 0x14]
call fcn.004b98a0
add esp, 4
lea ecx, [ebx - 8]
mov edx, eax
push 0
push ecx
mov ecx, edi
call fcn.004b8830
add esp, 8
mov dword [ebx - 0x14], eax
test esi, esi
jns 0x50566f
push 0
push eax
mov edx, 0x13
mov ecx, edi
call fcn.004b8670
add esp, 8
mov dword [ebx - 0x14], eax
mov eax, dword [ebx - 0x14]
test eax, eax
je case.0x504204.216
or dword [eax + 4], 0x80
jmp case.0x504204.216
mov esi, dword [ebx - 0x1c]
xor edx, edx
push dword [ebx - 0x14]
mov eax, esi
mov ecx, edi
and eax, 0x7fffffff
mov dword [ebx - 0x1c], eax
call fcn.004b98a0
add esp, 4
mov edx, eax
mov ecx, edi
push dword [ebx - 0x2c]
call fcn.004b98a0
add esp, 4
mov edx, eax
mov ecx, edi
push dword [ebx + 4]
call fcn.004b98a0
add esp, 4
lea ecx, [ebx - 0x20]
mov edx, eax
push 0
push ecx
mov ecx, edi
call fcn.004b8830
add esp, 8
mov dword [ebx - 0x2c], eax
test esi, esi
jns 0x5056ee
push 0
push eax
mov edx, 0x13
mov ecx, edi
call fcn.004b8670
add esp, 8
mov dword [ebx - 0x2c], eax
mov eax, dword [ebx - 0x2c]
test eax, eax
je case.0x504204.216
or dword [eax + 4], 0x80
jmp case.0x504204.216
movzx edx, word [ebx + 2]
mov ecx, edi
push 0
push dword [ebx - 8]
call fcn.004b8670
add esp, 8
mov dword [ebx - 8], eax
jmp case.0x504204.216
push 0
push dword [ebx - 0x14]
mov edx, 0x33
mov ecx, edi
call fcn.004b8670
add esp, 8
mov dword [ebx - 0x14], eax
jmp case.0x504204.216
push dword [ebx + 4]
mov edx, 0x2d
mov ecx, edi
push dword [ebx - 0x14]
call fcn.004b8670
mov edx, dword [ebx + 4]
mov ecx, edi
push 0x32
push eax
mov dword [ebx - 0x14], eax
call fcn.00503e20
add esp, 0x10
jmp case.0x504204.216
push dword [ebx + 4]
mov edx, 0xa6
mov ecx, edi
push dword [ebx - 0x20]
call fcn.004b8670
mov edx, dword [ebx + 4]
mov ecx, edi
push 0x33
push eax
mov dword [ebx - 0x20], eax
call fcn.00503e20
add esp, 0x10
jmp case.0x504204.216
movzx edx, word [ebx - 0xa]
mov ecx, edi
push 0
push dword [ebx + 4]
call fcn.004b8670
add esp, 8
mov dword [ebx - 8], eax
jmp case.0x504204.216
xor edx, edx
mov ecx, edi
cmp word [ebx - 0xa], 0x67
push 0
push dword [ebx + 4]
sete dl
add edx, 0xa8
call fcn.004b8670
add esp, 8
mov dword [ebx - 8], eax
jmp case.0x504204.216
push dword [ebx - 0x14]
xor edx, edx
mov ecx, edi
call fcn.004b98a0
add esp, 4
mov edx, eax
mov ecx, edi
push dword [ebx + 4]
call fcn.004b98a0
add esp, 4
mov edx, 0x30
mov ecx, edi
mov esi, eax
push 0
push dword [ebx - 0x2c]
call fcn.004b8670
add esp, 8
mov dword [ebx - 0x2c], eax
test eax, eax
je 0x505812
mov dword [eax + 0x14], esi
jmp 0x50581f
test esi, esi
je 0x50581f
mov edx, esi
mov ecx, dword [edi]
call fcn.004b9c80
cmp dword [ebx - 0x20], 0
je case.0x504204.216
push 0
push dword [ebx - 0x2c]
mov edx, 0x13
mov ecx, edi
call fcn.004b8670
add esp, 8
jmp 0x506080
cmp dword [ebx - 8], 0
mov ecx, edi
jne 0x505878
mov edx, dword [ebx - 0x2c]
call fcn.004b8b60
cmp dword [ebx - 0x20], 0
mov ecx, 0x711ebc
mov eax, 0x711ec0
mov edx, 0x96
cmove eax, ecx
mov ecx, dword [edi]
push eax
call fcn.004b85b0
add esp, 4
jmp 0x506080
push 0
push dword [ebx - 0x2c]
mov edx, 0x31
call fcn.004b8670
add esp, 8
mov dword [ebx - 0x2c], eax
test eax, eax
je 0x5058a6
mov ecx, dword [ebx - 8]
mov dword [eax + 0x14], ecx
mov ecx, edi
mov edx, dword [ebx - 0x2c]
call fcn.004b8450
jmp 0x50581f
mov edx, dword [ebx - 8]
test edx, edx
je 0x50581f
jmp 0x505818
push 0
push 0
mov edx, 0x86
mov ecx, edi
call fcn.004b8670
push dword [ebx - 8]
mov edx, eax
mov dword [ebx - 0x14], eax
mov ecx, edi
call fcn.004b8710
add esp, 0xc
jmp case.0x504204.216
push 0
push dword [ebx - 0x2c]
mov edx, 0x31
mov ecx, edi
call fcn.004b8670
push dword [ebx - 8]
mov edx, eax
mov dword [ebx - 0x2c], eax
mov ecx, edi
call fcn.004b8710
add esp, 0xc
jmp 0x50581f
lea eax, [ebx - 8]
xor edx, edx
push eax
lea eax, [ebx - 0x14]
mov ecx, edi
push eax
call fcn.004cb540
push 0
push 0
push 0
push 0
push 0
push 0
push eax
xor edx, edx
mov dword [esp + 0x60], eax
mov ecx, edi
call fcn.004de560
mov esi, eax
add esp, 0x24
mov eax, dword [ebx + 4]
test eax, eax
je 0x505950
xor edx, edx
mov ecx, edi
test esi, esi
push eax
cmovne edx, dword [esp + 0x40]
call fcn.004cb9b0
add esp, 4
push 0
push dword [ebx - 0x2c]
mov edx, 0x31
mov ecx, edi
call fcn.004b8670
push esi
mov edx, eax
mov dword [ebx - 0x2c], eax
mov ecx, edi
call fcn.004b8710
add esp, 0xc
jmp 0x50581f
push 0
push 0
mov edx, 0x14
mov ecx, edi
call fcn.004b8670
push dword [ebx - 8]
mov edx, eax
mov dword [ebx - 0x20], eax
mov ecx, edi
call fcn.004b8710
add esp, 0xc
jmp case.0x504204.216
push 0
push dword [ebx - 0x20]
mov edx, 0x98
mov ecx, edi
call fcn.004b8670
add esp, 8
mov dword [ebx - 0x2c], eax
test eax, eax
je 0x5059e9
mov eax, dword [ebx - 8]
test eax, eax
je 0x5059d1
mov edx, dword [ebx - 0x14]
mov ecx, edi
push eax
call fcn.004b98a0
add esp, 4
mov ecx, eax
jmp 0x5059d4
mov ecx, dword [ebx - 0x14]
mov eax, dword [ebx - 0x2c]
mov dword [eax + 0x14], ecx
mov ecx, edi
mov edx, dword [ebx - 0x2c]
call fcn.004b8450
jmp case.0x504204.216
mov edx, dword [ebx - 0x14]
test edx, edx
je 0x5059f7
mov ecx, dword [edi]
call fcn.004b9c80
mov edx, dword [ebx - 8]
test edx, edx
je case.0x504204.216
mov ecx, dword [edi]
call fcn.004b8a40
jmp case.0x504204.216
push dword [ebx - 0x14]
mov edx, dword [ebx - 0x2c]
mov ecx, edi
call fcn.004b98a0
add esp, 4
mov dword [ebx - 0x2c], eax
mov edx, eax
mov ecx, edi
push dword [ebx + 4]
call fcn.004b98a0
add esp, 4
jmp 0x506080
push dword [ebx - 0x14]
xor edx, edx
mov ecx, edi
call fcn.004b98a0
add esp, 4
mov dword [ebx - 0x20], eax
mov edx, eax
mov ecx, edi
push dword [ebx + 4]
call fcn.004b98a0
add esp, 4
mov dword [ebx - 0x20], eax
jmp case.0x504204.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x14]
mov ecx, edi
call fcn.004b98a0
add esp, 4
mov dword [ebx - 0x14], eax
jmp case.0x504204.216
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
call fcn.004b98a0
add esp, 4
mov dword [ebx + 4], eax
jmp case.0x504204.216
mov eax, dword [edi]
mov ecx, eax
push 0
push 0x50
mov dword [esp + 0x44], eax
call fcn.00480700
mov esi, eax
add esp, 8
mov dword [esp + 0x10], esi
test esi, esi
jne 0x505aaf
xor ecx, ecx
jmp 0x505af5
push 0x48
lea eax, [esi + 8]
mov dword [esi + 4], 1
push 0
push eax
mov dword [esi], 1
call fcn.0063e100
mov ecx, dword [esp + 0x48]
lea edx, [ebx - 0x2c]
mov dword [esi + 0x34], 0xffffffff
add esp, 0xc
mov eax, dword [esi]
lea eax, [eax + eax*8]
lea esi, [esi + eax*8]
call fcn.004c6700
mov ecx, dword [esp + 0x10]
mov dword [esi - 0x38], eax
mov dword [esi - 0x3c], 0
push 0
push dword [ebx - 0x5c]
lea eax, [ebx - 0x80]
push 0
push dword [ebx + 4]
lea edx, [ebx - 0x50]
push eax
push dword [ebx - 0x74]
lea eax, [ebx - 0x44]
push dword [ebx - 0x14]
push ecx
push eax
mov ecx, edi
call fcn.004ca200
add esp, 0x24
cmp byte [edi + 0xc8], 2
jb case.0x504204.216
mov edx, dword [edi + 0xe8]
test edx, edx
je case.0x504204.216
mov edx, dword [edx]
lea eax, [ebx - 0x2c]
push eax
mov ecx, edi
call fcn.004c0e30
add esp, 4
jmp case.0x504204.216
push dword [ebx + 4]
mov edx, dword [ebx - 0x2c]
lea eax, [ebx - 0x14]
push dword [ebx - 8]
mov ecx, edi
push eax
call fcn.00503e70
add esp, 0xc
jmp 0x506080
push dword [ebx + 4]
lea esi, [ebx - 0x14]
xor edx, edx
push dword [ebx - 8]
mov ecx, edi
push esi
call fcn.00503e70
add esp, 0xc
mov dword [esi], eax
jmp case.0x504204.216
push dword [ebx - 8]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004caee0
add esp, 4
jmp case.0x504204.216
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
call fcn.004ee390
add esp, 4
jmp case.0x504204.216
push dword [ebx + 4]
lea edx, [ebx - 8]
mov ecx, edi
call fcn.004ee390
add esp, 4
jmp case.0x504204.216
push 0
lea eax, [ebx + 4]
mov ecx, edi
push 0
push eax
lea edx, [ebx - 8]
call fcn.004d9e90
add esp, 0xc
jmp case.0x504204.216
push 0
lea eax, [ebx + 4]
mov ecx, edi
push eax
lea eax, [ebx - 0x14]
lea edx, [ebx - 0x20]
push eax
call fcn.004d9e90
add esp, 0xc
jmp case.0x504204.216
push 0
lea eax, [ebx - 8]
mov ecx, edi
push eax
lea eax, [ebx - 0x20]
push eax
lea edx, [ebx - 0x2c]
call fcn.004d9e90
add esp, 0xc
jmp case.0x504204.216
push 1
jmp 0x505bde
push 1
lea eax, [ebx - 8]
mov ecx, edi
push eax
lea eax, [ebx - 0x20]
lea edx, [ebx - 0x2c]
push eax
call fcn.004d9e90
add esp, 0xc
jmp case.0x504204.216
mov eax, dword [ebx + 8]
mov ecx, dword [ebx - 0x20]
add eax, dword [ebx + 4]
mov edx, dword [ebx - 8]
sub eax, ecx
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], ecx
mov ecx, edi
push eax
call fcn.004e9d30
add esp, 4
jmp case.0x504204.216
push dword [ebx - 0x5c]
lea esi, [ebx - 0x44]
mov ecx, edi
push dword [ebx - 0x74]
lea edx, [ebx - 0x50]
push dword [ebx + 4]
push dword [ebx - 0x14]
push dword [ebx - 0x28]
push dword [ebx - 0x2c]
push dword [ebx - 0x38]
push esi
call fcn.004e9870
add esp, 0x20
cmp dword [ebx - 0x40], 0
jne 0x505c9b
mov eax, dword [ebx - 0x50]
mov ecx, dword [ebx - 0x4c]
mov dword [ebx - 0x74], eax
mov dword [ebx - 0x70], ecx
jmp case.0x504204.216
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebx - 0x74], eax
mov dword [ebx - 0x70], ecx
jmp case.0x504204.216
mov dword [ebx - 8], 0x41
jmp case.0x504204.216
mov dword [ebx + 0x10], 0x21
jmp case.0x504204.216
movzx eax, word [ebx + 2]
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0
jmp case.0x504204.216
mov eax, dword [ebx + 4]
mov dword [ebx - 0x14], 0x7d
mov dword [ebx - 0x10], eax
jmp case.0x504204.216
mov eax, dword [ebx - 0x14]
mov ecx, dword [eax + 0x28]
mov eax, dword [ebx - 8]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebx - 0x14]
mov eax, dword [ebx - 8]
mov dword [ecx + 0x28], eax
jmp case.0x504204.216
mov eax, dword [ebx - 8]
mov dword [eax + 0x28], eax
jmp case.0x504204.216
mov eax, dword [ebx + 4]
mov dword [ebx - 0x14], eax
mov eax, dword [ebx + 8]
push 0x711f60
push edi
mov dword [ebx - 0x10], eax
call fcn.00483850
add esp, 8
jmp case.0x504204.216
push 0x711ef8
push edi
call fcn.00483850
add esp, 8
jmp case.0x504204.216
push 0x711fc0
push edi
call fcn.00483850
add esp, 8
jmp case.0x504204.216
push dword [ebx + 4]
movzx eax, byte [ebx - 0x44]
lea edx, [ebx - 0x38]
push dword [ebx - 0x50]
mov ecx, edi
push eax
push dword [ebx - 8]
push dword [ebx - 0x14]
call fcn.004ea200
add esp, 0x14
mov dword [ebx - 0x50], eax
jmp case.0x504204.216
push dword [ebx + 4]
movzx eax, byte [ebx - 0x44]
lea edx, [ebx - 0x2c]
push dword [ebx - 0x50]
mov ecx, edi
push dword [ebx - 8]
push eax
push dword [ebx - 0x14]
push dword [ebx - 0x20]
call fcn.004ea150
add esp, 0x18
mov dword [ebx - 0x50], eax
jmp case.0x504204.216
push dword [ebx + 4]
lea edx, [ebx - 0x20]
mov ecx, edi
push dword [ebx - 0x38]
push dword [ebx - 8]
call fcn.004ea2d0
add esp, 0xc
mov dword [ebx - 0x38], eax
jmp case.0x504204.216
push dword [ebx + 4]
mov edx, dword [ebx - 8]
push dword [ebx - 0x14]
mov ecx, dword [edi]
call fcn.004e9f80
add esp, 8
mov dword [ebx - 0x14], eax
jmp case.0x504204.216
push 0
push 0
mov edx, 0x47
mov ecx, edi
call fcn.004b8670
add esp, 8
mov dword [ebx - 0x20], eax
test eax, eax
je case.0x504204.216
mov byte [eax + 1], 4
jmp case.0x504204.216
mov ecx, dword [edi]
lea eax, [ebx - 8]
push 1
push eax
mov edx, 0x47
call fcn.004b84b0
add esp, 8
mov dword [ebx - 0x38], eax
test eax, eax
je case.0x504204.216
mov cl, byte [ebx - 0x20]
mov byte [eax + 1], cl
jmp case.0x504204.216
mov dword [ebx + 4], 3
jmp case.0x504204.216
push dword [ebx - 8]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004ea470
add esp, 4
jmp case.0x504204.216
push dword [ebx + 4]
mov eax, dword [ebx - 0x20]
mov edx, 0x18
push dword [ebx - 8]
mov ecx, edi
push eax
push eax
push 0x6ccc24
call fcn.004c4950
add esp, 0x14
jmp case.0x504204.216
mov eax, dword [ebx + 4]
mov edx, 0x19
push eax
push 0
push 0
push eax
push 0x6cc0d4
mov ecx, edi
call fcn.004c4950
add esp, 0x14
jmp case.0x504204.216
mov ecx, edi
call fcn.004dd700
test eax, eax
jne case.0x504204.216
xor edx, edx
mov ecx, edi
call fcn.004cc430
jmp case.0x504204.216
lea eax, [ebx + 4]
mov ecx, edi
push eax
lea edx, [ebx - 8]
call fcn.004cc560
add esp, 4
jmp case.0x504204.216
push 0
xor edx, edx
mov ecx, edi
call fcn.004c3d30
add esp, 4
jmp case.0x504204.216
lea eax, [ebx + 4]
mov ecx, edi
push eax
lea edx, [ebx - 8]
call fcn.004c3d30
add esp, 4
jmp case.0x504204.216
mov edx, dword [ebx - 0x20]
lea eax, [ebx + 4]
push eax
mov ecx, edi
call fcn.004c0310
add esp, 4
jmp case.0x504204.216
mov eax, dword [edi + 0xc0]
lea edx, [ebx - 8]
add eax, dword [edi + 0xbc]
mov ecx, edi
sub eax, dword [edx]
mov dword [ebx - 4], eax
call fcn.004c0690
jmp case.0x504204.216
mov eax, dword [edi]
mov ecx, edi
inc byte [edi + 0x18]
inc dword [eax + 0x118]
mov edx, dword [ebx + 4]
call fcn.004c0980
jmp case.0x504204.216
mov edx, dword [ebx - 0x38]
lea eax, [ebx + 4]
push eax
lea eax, [ebx - 0x14]
mov ecx, edi
push eax
call fcn.004c0b60
add esp, 8
jmp case.0x504204.216
xor edx, edx
mov ecx, edi
call fcn.004ef310
jmp case.0x504204.216
lea edx, [ebx + 4]
mov ecx, edi
call fcn.004ef310
jmp case.0x504204.216
push dword [ebx - 0x2c]
lea eax, [ebx + 4]
mov ecx, edi
push eax
lea eax, [ebx - 0x14]
push eax
lea edx, [ebx - 0x20]
call fcn.004ef1d0
add esp, 0xc
jmp case.0x504204.216
mov ecx, edi
call fcn.004ef2a0
mov dword [edi + 0xf4], 0
mov dword [edi + 0xf8], 0
jmp case.0x504204.216
mov ecx, dword [edi + 0xf4]
test ecx, ecx
jne 0x505fd4
mov eax, dword [ebx + 4]
mov dword [edi + 0xf4], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0xf8], eax
jmp case.0x504204.216
mov eax, dword [ebx + 8]
sub eax, ecx
add eax, dword [ebx + 4]
mov dword [edi + 0xf8], eax
jmp case.0x504204.216
mov ecx, dword [ebx + 4]
test ecx, ecx
je case.0x504204.216
mov eax, dword [edi + 0x108]
mov dword [ecx + 4], eax
mov dword [edi + 0x108], ecx
mov dword [edi + 0x10c], ecx
jmp case.0x504204.216
push dword [ebx - 8]
lea esi, [ebx - 0x38]
xor edx, edx
push dword [ebx - 0x2c]
mov ecx, edi
push esi
call fcn.004cc780
add esp, 0xc
mov dword [esi], eax
jmp case.0x504204.216
push dword [ebx - 8]
mov edx, dword [ebx - 0x50]
lea eax, [ebx - 0x38]
push dword [ebx - 0x2c]
mov ecx, edi
push eax
call fcn.004cc780
add esp, 0xc
mov dword [ebx - 0x50], eax
jmp case.0x504204.216
push dword [ebx - 0x14]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004ff330
mov ecx, dword [ebx + 4]
add esp, 4
mov eax, dword [ebx - 0x14]
mov dword [ecx + 0x24], eax
mov eax, dword [ebx + 4]
mov dword [ebx - 0x14], eax
jmp case.0x504204.216
cmp dword [ebx - 8], 0
je case.0x504204.322
mov edx, dword [ebx - 0x2c]
mov ecx, dword [edi]
push 0
push dword [ebx - 0x28]
call fcn.004809e0
mov ecx, dword [ebx - 8]
add esp, 8
mov dword [ecx], eax
mov eax, dword [ebx - 8]
mov dword [ebx - 0x2c], eax
mov eax, dword [esp + 0x1c]
pop edi
movzx esi, word [eax*2 + 0x6cd8b8]
movsx eax, byte [eax + 0x6cc7d8]
lea eax, [eax + eax*2]
lea edx, [ebx + eax*4]
movzx eax, word [edx]
movsx ecx, word [eax*2 + 0x6ccea8]
add ecx, esi
movzx eax, word [ecx*2 + 0x6cdc08]
lea ecx, [edx + 0xc]
mov edx, dword [esp + 0x1c]
mov dword [edx], ecx
mov word [ecx + 2], si
mov word [ecx], ax
mov ecx, dword [esp + 0x40]
pop esi
pop ebx
xor ecx, esp
call fcn.00625325
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 4]
mov eax, dword [ebx - 8]
mov edx, dword [ebx - 0x14]
mov dword [esp + 0x3c], eax
test esi, esi
je 0x5060ef
mov dword [esi + 8], edx
mov dword [esi + 0xc], eax
mov dword [ebx - 0x2c], esi
jmp case.0x504204.216
test edx, edx
je 0x5060fe
mov ecx, dword [edi]
call fcn.004b9c80
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x50551c
mov ecx, dword [edi]
mov edx, eax
call fcn.004b9c80
mov dword [ebx - 0x2c], esi
jmp case.0x504204.216
mov edx, dword [ebx + 4]
lea esi, [ebx - 0x38]
push esi
push dword [ebx - 8]
mov ecx, edi
push dword [ebx - 0x14]
call fcn.004ff290
add esp, 0xc
mov dword [esi], eax
jmp case.0x504204.216
mov esi, dword [ebx + 4]
mov edx, dword [ebx - 8]
test esi, esi
je 0x506151
mov dword [esi + 8], 0
mov dword [esi + 0xc], edx
mov dword [ebx - 0x20], esi
jmp case.0x504204.216
test edx, edx
je 0x5047af
mov ecx, dword [edi]
call fcn.004b9c80
mov dword [ebx - 0x20], esi
jmp case.0x504204.216
mov edx, dword [ebx + 4]
lea esi, [ebx - 0x2c]
push esi
push dword [ebx - 8]
mov ecx, edi
push 0
call fcn.004ff290
add esp, 0xc
mov dword [esi], eax
jmp case.0x504204.216
mov edx, dword [ebx + 4]
lea esi, [ebx - 8]
push esi
push 0
push 0
mov ecx, edi
call fcn.004ff290
add esp, 0xc
mov dword [esi], eax
jmp case.0x504204.216
mov ecx, dword [edi]
mov byte [esp + 0x17], 0
test ecx, ecx
je 0x5061ba
push 0
push 0x64
call fcn.00480700
add esp, 8
jmp 0x506208
cmp dword [0x70b3b8], 0
je 0x5061fd
mov eax, dword [0x71cc58]
test eax, eax
je 0x5061d6
push eax
call dword [0x70b408]
add esp, 4
lea edx, [esp + 0xc]
mov ecx, 0x64
call fcn.00480090
mov eax, dword [0x71cc58]
test eax, eax
je 0x5061f7
push eax
call dword [0x70b410]
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x50620a
push 0x64
call dword [0x70b3d8]
add esp, 4
mov esi, eax
test esi, esi
je 0x50625f
push 0x64
push 0
push esi
call fcn.0063e100
mov word [esi + 0x10], 0x5a59
add esp, 0xc
mov byte [esi + 0x12], 0x55
mov ecx, 0x42
mov eax, dword [edi]
test byte [eax + 0x4c], 2
movzx eax, byte [esp + 0x17]
cmovne eax, ecx
mov byte [esi + 0x13], 1
xor edx, edx
mov byte [esi + 0x14], al
mov ecx, edi
call fcn.004ff060
xor edx, edx
mov dword [esi + 0x1c], eax
mov ecx, edi
call fcn.004ff060
mov dword [esi + 0x18], eax
mov dword [ebx + 0x10], esi
jmp case.0x504204.216
xor esi, esi
mov dword [ebx + 0x10], esi
jmp case.0x504204.216
movzx eax, byte [ebx + 4]
mov ecx, edi
mov edx, dword [ebx - 0x14]
push eax
push 0
push 0x55
push dword [ebx - 4]
push dword [ebx - 8]
call fcn.004ff140
add esp, 0x14
mov dword [ebx - 0x14], eax
jmp case.0x504204.216
movzx eax, byte [ebx + 4]
mov ecx, edi
mov edx, dword [ebx - 0x38]
push eax
push dword [ebx - 4]
push dword [ebx - 8]
push dword [ebx - 0x1c]
push dword [ebx - 0x20]
call fcn.004ff140
add esp, 0x14
mov dword [ebx - 0x38], eax
jmp case.0x504204.216
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
jmp case.0x504204.216
movzx eax, word [ebx - 0xa]
mov dword [ebx - 8], eax
mov dword [ebx - 4], 0
jmp case.0x504204.216
movzx ecx, word [ebx + 2]
mov eax, dword [ebx - 8]
mov dword [ebx - 8], ecx
mov dword [ebx - 4], eax
jmp case.0x504204.216
mov byte [ebx + 0x10], 0
jmp case.0x504204.216
mov al, byte [ebx + 4]
mov byte [ebx - 8], al
jmp case.0x504204.216
mov al, byte [ebx - 0xa]
mov byte [ebx - 8], al
jmp case.0x504204.216
mov al, byte [ebx + 2]
mov byte [ebx + 4], al
jmp case.0x504204.216
mov ecx, dword [ebx + 4]
mov eax, dword [ebx - 8]
mov dword [ecx + 0x28], eax
mov eax, dword [ebx + 4]
mov dword [ebx - 8], eax
jmp case.0x504204.216
mov ecx, dword [edi]
push 0
push 0x64
call fcn.00480600
mov esi, eax
add esp, 8
test esi, esi
je 0x50634d
mov byte [esi + 0x10], 0xa1
mov ecx, dword [ebx + 4]
mov dword [esi + 0x28], ecx
mov dword [ebx + 4], esi
jmp case.0x504204.216
mov edx, dword [ebx + 4]
test edx, edx
je 0x5047c7
mov ecx, dword [edi]
call fcn.004b8a40
mov dword [ebx + 4], esi
jmp case.0x504204.216
mov ecx, dword [edi]
push 0
push 0x64
call fcn.00480600
add esp, 8
mov dword [ebx - 8], eax
test eax, eax
je case.0x504204.216
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
push 0
push dword [ebx + 8]
call fcn.004809e0
mov ecx, dword [ebx - 8]
add esp, 8
mov dword [ecx], eax
jmp case.0x504204.216