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

Disassembly:
push 0xffffffffffffffff
push 0x71c5d8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
push ebp
mov ebp, dword [esp + 0x64]
push esi
push edi
mov esi, ecx
xor edi, edi
mov ecx, ebp
mov dword [esp + 0x10], edi
call fcn.00561080
mov ebx, eax
test ebx, ebx
je 0x525518
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x30]
mov edi, eax
test edi, edi
je 0x525518
mov eax, dword [edi + 0x9dc]
test eax, eax
mov ecx, dword [edi + 0xa74]
mov dword [esp + 0x10], ecx
je 0x525518
xor edi, edi
push 1
mov ecx, esi
call fcn.004d6230
test eax, eax
jne case.0x525538.15
movzx eax, byte [esp + 0x70]
dec eax
cmp eax, 0x23
ja case.0x525538.15
jmp dword [eax*4 + 0x52684c]
push ebp
mov ecx, esi
call fcn.005235b0
jmp 0x526837
push ebp
mov ecx, esi
call fcn.00523450
jmp 0x526837
push ebp
mov ecx, esi
call fcn.00525450
jmp 0x526837
push ebp
mov ecx, esi
call fcn.00523570
jmp 0x526837
mov ecx, esi
call fcn.00578540
push 0x10
mov ecx, esi
mov ebx, eax
call fcn.004d6750
push 1
mov ecx, esi
mov ebp, eax
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
push eax
push 4
push eax
push eax
push 1
push 0x5dc
push 0x2719
push 1
push eax
push eax
push eax
push eax
push 1
push ebp
push ebx
mov ecx, edi
call fcn.004fde40
cmp dword [edi + 0x50c], ebx
je 0x5255e1
mov dword [edi + 0x510], ebx
mov eax, 1
jmp 0x526837
push 0x10
mov ecx, esi
call fcn.004d6750
push 0x10
mov ecx, esi
mov ebx, eax
call fcn.004d6750
mov ecx, esi
mov ebp, eax
call fcn.00578540
push 1
mov ecx, esi
mov dword [esp + 0x74], eax
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
mov ecx, edi
call fcn.004cb120
test eax, eax
je case.0x525538.15
mov ecx, edi
call fcn.004cb120
mov edx, dword [eax + 0x120]
add eax, 0x11c
mov eax, dword [esp + 0x70]
push edx
push eax
push ebp
push ebx
mov ecx, edi
call fcn.004ecee0
mov eax, 1
jmp 0x526837
push 8
mov ecx, esi
call fcn.004d6720
push 8
mov ecx, esi
mov byte [esp + 0x70], al
call fcn.004d6720
mov ecx, esi
mov byte [esp + 0x70], al
call fcn.00578540
push 0x20
push 0x3f800000
mov ecx, esi
mov ebx, eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
call fcn.004d67b0
fstp dword [esp + 0x38]
push 0x20
push 0x3f800000
mov ecx, esi
call fcn.004d67b0
fstp dword [esp + 0x3c]
push 0x20
push 0x3f800000
mov ecx, esi
call fcn.004d67b0
fstp dword [esp + 0x40]
push 1
mov ecx, esi
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
mov ecx, edi
call fcn.004cb120
mov ecx, dword [eax + 0x120]
push 0
push 0x7f000000
add eax, 0x11c
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x44]
push edx
push ebx
push eax
push ecx
mov ecx, edi
call fcn.004fbe40
jmp case.0x525538.15
mov ecx, esi
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
call fcn.00578540
push 8
mov ecx, esi
mov ebp, eax
call fcn.004d6720
mov ecx, esi
mov byte [esp + 0x6c], al
call fcn.004d66f0
test eax, eax
je 0x525789
push 8
mov ecx, esi
call fcn.004d6720
mov byte [esp + 0x70], al
jmp 0x52578e
mov byte [esp + 0x70], 0
mov ecx, esi
call fcn.004d66f0
cmp eax, 1
jne 0x5257a5
mov ecx, esi
call fcn.00578540
mov ebx, eax
jmp 0x5257ab
mov ebx, dword [0x746644]
mov ecx, esi
call fcn.004d66f0
cmp eax, 1
jne 0x5257ed
push 0x20
push 0x3f800000
mov ecx, esi
call fcn.004d67b0
fstp dword [esp + 0x38]
push 0x20
push 0x3f800000
mov ecx, esi
call fcn.004d67b0
fstp dword [esp + 0x3c]
push 0x20
push 0x3f800000
mov ecx, esi
call fcn.004d67b0
fstp dword [esp + 0x40]
push 1
mov ecx, esi
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
mov ecx, edi
call fcn.004cb120
mov esi, dword [eax + 0x120]
add eax, 0x11c
mov eax, dword [edi + 0x4e0]
test eax, eax
jne 0x52583c
push 1
mov ecx, edi
call fcn.004f8770
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
push 1
push esi
lea edx, [esp + 0x40]
push edx
push ebx
push eax
push ecx
push ebp
mov ecx, edi
call fcn.004fc210
test eax, eax
jne case.0x525538.15
push eax
push 0x17
mov ecx, edi
call fcn.004ede10
jmp case.0x525538.15
mov ecx, esi
call fcn.00578540
mov ecx, esi
mov ebp, eax
call fcn.00578540
mov ecx, esi
mov edi, eax
call fcn.00578540
push 0x20
mov ecx, esi
mov ebx, eax
call fcn.004d6780
push 1
mov ecx, esi
mov dword [esp + 0x74], eax
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 8]
push ebp
call fcn.004ae770
mov esi, eax
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 8]
push edi
call fcn.004ae760
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push ebx
mov ebp, eax
call fcn.004ae7a0
test esi, esi
je case.0x525538.15
test ebp, ebp
je case.0x525538.15
test eax, eax
je case.0x525538.15
mov edx, dword [esp + 0x70]
push 0
push edx
push ebx
push edi
mov ecx, esi
call fcn.0057c870
jmp case.0x525538.15
push 8
mov ecx, esi
call fcn.004d6720
mov bl, al
push 1
mov ecx, esi
mov byte [esp + 0x74], bl
call fcn.004d6230
test eax, eax
jne case.0x525538.15
cmp bl, 5
jne 0x525945
mov ecx, esi
call fcn.00578540
mov ebp, eax
jmp 0x525949
mov ebp, dword [esp + 0x70]
push 1
mov ecx, esi
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
mov eax, dword [edi + 0xe8]
test eax, eax
je case.0x525538.15
cmp bl, 5
jne 0x52598e
push ebp
mov ecx, edi
call fcn.004fce90
mov eax, dword [esp + 0x70]
push eax
mov ecx, edi
call fcn.004f2a50
jmp case.0x525538.15
mov ecx, esi
call fcn.00578540
push 1
mov ecx, esi
mov ebx, eax
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
lea edx, [esp + 0x70]
push edx
push ebx
call fcn.004aed70
mov ecx, eax
call fcn.004d8230
cmp al, byte [0x74666c]
jne 0x525b10
mov eax, dword [esp + 0x70]
movzx eax, byte [eax + 8]
add eax, 0xfffffffb
cmp eax, 5
ja case.0x525a0d.8
jmp dword [eax*4 + 0x5268dc]
push ebx
push ebp
mov ecx, esi
call fcn.0056ebe0
jmp 0x526837
push ebx
mov ecx, edi
call fcn.0063e7c0
push ebx
push ebp
mov ecx, esi
call fcn.0056ee40
jmp 0x526837
push ebx
push ebp
mov ecx, esi
call fcn.0056f0a0
jmp 0x526837
mov ecx, edi
call fcn.004cb120
push 0
push 0x7f000000
add eax, 0x11c
mov eax, dword [eax + 4]
push eax
lea ecx, [esp + 0x5c]
push ecx
push ebx
push 0x66
push 1
mov ecx, edi
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
call fcn.004fbe40
mov eax, 1
jmp 0x526837
push ebx
push ebp
mov ecx, esi
call fcn.0056f370
jmp 0x526837
push str.Feature_not_implemented:_Examine_unhandled_for_this_object_type.
lea ecx, [esp + 0x2c]
call fcn.005e5a90
push 0x73d71c
lea ecx, [esp + 0x34]
mov dword [esp + 0x68], 0
call fcn.005e5a90
mov ebp, dword [ebp + 4]
lea edx, [esp + 0x30]
push edx
push ebp
sub esp, 8
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x7c], esp
push eax
mov byte [esp + 0x78], 1
call fcn.005e5b00
push 0x7f000000
push 5
mov ecx, esi
call fcn.00571960
lea ecx, [esp + 0x30]
mov byte [esp + 0x64], 0
call fcn.005e5c20
lea ecx, [esp + 0x28]
mov dword [esp + 0x64], 0xffffffff
call fcn.005e5c20
mov eax, 1
jmp 0x526837
mov ecx, esi
call fcn.00578540
push 1
mov ecx, esi
mov ebx, eax
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
push 2
mov ecx, edi
call fcn.004f8770
push ebx
mov ecx, edi
call fcn.0057c810
mov eax, 1
jmp 0x526837
mov ecx, esi
call fcn.00578540
push 0x10
mov ecx, esi
mov ebx, eax
call fcn.004d6750
push 1
mov ecx, esi
mov ebp, eax
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
push 2
mov ecx, edi
call fcn.004f8770
cmp bp, 0x2725
push 0
mov ecx, edi
push ebx
jne 0x525bca
call fcn.004cfac0
mov eax, 1
jmp 0x526837
call fcn.004cfb20
mov eax, 1
jmp 0x526837
mov ecx, esi
call fcn.00578540
mov ecx, esi
mov ebx, eax
call fcn.00578540
push 1
mov ecx, esi
mov ebp, eax
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
mov eax, dword [edi + 0xe8]
test eax, eax
je case.0x525538.15
push 2
mov ecx, edi
call fcn.004f8770
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
lea edx, [esp + 0x70]
push edx
push ebx
call fcn.004aed70
mov ecx, eax
call fcn.004d8230
cmp al, byte [0x74666c]
jne 0x525ca9
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx]
call dword [eax + 0x18]
test eax, eax
je 0x525c7a
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx]
call dword [edx + 0x18]
mov ecx, dword [eax + 0x2c4]
test ecx, ecx
je 0x525c7a
push 0
push ebp
push ebx
mov ecx, edi
call fcn.004cfb80
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx]
call dword [eax + 0x48]
test eax, eax
je 0x525ca9
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx]
call dword [edx + 0x48]
mov ecx, dword [eax + 0x260]
test ecx, ecx
je 0x525ca9
push 0
push 0x7f000000
push ebx
mov ecx, edi
call fcn.004cfb80
mov eax, 1
jmp 0x526837
mov ecx, esi
call fcn.00578540
push 1
mov ecx, esi
mov ebx, eax
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
push 2
mov ecx, edi
call fcn.004f8770
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 8]
lea edx, [esp + 0x70]
push edx
push ebx
call fcn.004aed70
mov ecx, eax
call fcn.004d8230
cmp al, byte [0x74666c]
jne 0x525d61
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx]
call dword [eax + 0x18]
test eax, eax
je 0x525d39
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx]
call dword [edx + 0x18]
mov ecx, dword [eax + 0x2c4]
test ecx, ecx
jne 0x525d39
push ebx
mov ecx, edi
call fcn.004cfc20
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx]
call dword [eax + 0x48]
test eax, eax
je 0x525d61
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx]
call dword [edx + 0x48]
mov ecx, dword [eax + 0x260]
test ecx, ecx
jne 0x525d61
push ebx
mov ecx, edi
call fcn.004cfc20
mov eax, 1
jmp 0x526837
push 0x10
mov ecx, esi
call fcn.004d6750
mov ecx, esi
mov ebx, eax
call fcn.00578540
push 0x20
push 0x3f800000
mov ecx, esi
mov dword [esp + 0x78], eax
call fcn.004d67b0
fstp dword [esp + 0x28]
push 0x20
push 0x3f800000
mov ecx, esi
call fcn.004d67b0
fstp dword [esp + 0x24]
push 0x20
push 0x3f800000
mov ecx, esi
call fcn.004d67b0
fstp dword [esp + 0x20]
movzx eax, bx
push 1
mov ecx, esi
mov dword [esp + 0x18], 0x3f800000
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x70], 1
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
mov eax, dword [edi + 0xe8]
test eax, eax
je case.0x525538.15
test byte [edi + 0x9fc], 8
je 0x525e20
push 1
mov ecx, edi
call fcn.004ccd80
push 0
push 0
push 0
push 0
push 0
mov eax, dword [esp + 0x84]
cmp dword [edi + 4], eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
jne 0x525e87
lea ecx, [esp + 0xb4]
push ecx
push 1
lea edx, [esp + 0x60]
push edx
push 2
lea eax, [esp + 0x6c]
push eax
push 2
lea ecx, [esp + 0x78]
push ecx
push 1
push 0xffff
push 6
mov ecx, edi
call fcn.004ccb00
mov eax, 1
jmp 0x526837
cmp eax, 0x7f000000
push 0
push 0
je 0x525ead
push 0
push 0
push 0
push 0
lea edx, [esp + 0xd0]
push edx
push 3
push 0xffff
push 0x13
jmp 0x525ecc
lea eax, [esp + 0x70]
push eax
push 2
lea ecx, [esp + 0x7c]
push ecx
push 2
lea edx, [esp + 0x88]
push edx
push 2
push 0xffff
push 0x31
mov ecx, edi
call fcn.004cea20
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0xb4]
push eax
push 1
lea ecx, [esp + 0x60]
push ecx
push 2
lea edx, [esp + 0x6c]
push edx
push 2
lea eax, [esp + 0x78]
push eax
push 1
push 0xfffe
push 6
mov ecx, edi
call fcn.004cea20
mov eax, 1
jmp 0x526837
test edi, edi
je case.0x525538.15
mov ecx, esi
call fcn.00578540
push 8
mov ecx, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x74], 0x7f000000
call fcn.004f8770
push 0x73d71c
lea ecx, [esp + 0x1c]
call fcn.005e5a90
mov eax, dword [edi + 0x78]
xor esi, esi
cmp eax, esi
mov dword [esp + 0x64], 2
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 1
mov dword [esp + 0x6c], esi
jne 0x525f99
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push 1
push ebx
call fcn.004aed80
mov ecx, eax
call fcn.004b08a0
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
lea edx, [esp + 0xa8]
push edx
push 3
lea eax, [esp + 0xac]
push eax
push 1
lea ecx, [esp + 0x70]
push ecx
push 1
lea edx, [esp + 0x74]
push edx
push 1
lea eax, [esp + 0x70]
push eax
push 4
lea ecx, [esp + 0x80]
push ecx
push 3
push 0xffff
push 0x18
mov ecx, ebx
call fcn.004cea20
lea ecx, [esp + 0x18]
mov dword [esp + 0x64], 0xffffffff
call fcn.005e5c20
mov eax, 1
jmp 0x526837
test edi, edi
je 0x52602f
mov eax, dword [edi + 0xe8]
test eax, eax
je 0x52602f
push 8
mov ecx, edi
call fcn.004eb190
test eax, eax
jne case.0x525538.15
push eax
mov ecx, edi
call fcn.004fd1e0
jmp case.0x525538.15
push 0
push 0xd5
mov ecx, edi
call fcn.004ede10
jmp case.0x525538.15
push 8
mov ecx, esi
call fcn.004d6720
push 0x20
mov ecx, esi
call fcn.004d6780
push 8
mov ecx, esi
call fcn.004d6720
push 8
mov ecx, esi
call fcn.004d6720
push 8
mov ecx, esi
call fcn.004d6720
push 1
mov ecx, esi
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
jmp case.0x525538.15
xor ebp, ebp
push 0x20
mov ecx, esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x74], 0x7f000000
call fcn.004d6780
push 8
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.004d6720
push 8
mov ecx, esi
mov byte [esp + 0x18], al
call fcn.004d6720
push 8
mov ecx, esi
mov byte [esp + 0x1c], al
call fcn.004d6720
push 8
mov ecx, esi
mov byte [esp + 0x70], al
call fcn.004d6720
mov bl, al
test bl, 1
je 0x5260f3
mov ecx, esi
call fcn.00578540
mov dword [esp + 0x70], eax
test bl, 2
je 0x526133
push 0x20
push 0x3f800000
mov ecx, esi
call fcn.004d67b0
fstp dword [esp + 0x38]
push 0x20
push 0x3f800000
mov ecx, esi
call fcn.004d67b0
fstp dword [esp + 0x3c]
push 0x20
push 0x3f800000
mov ecx, esi
call fcn.004d67b0
fstp dword [esp + 0x40]
mov ebp, 1
shr ebx, 2
push 1
mov ecx, esi
and ebx, 1
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x525538.15
mov edx, dword [0x7a3a28]
mov esi, dword [esp + 0x28]
mov ecx, dword [edx + 0x8c]
push esi
call fcn.0059b6d0
test ebx, ebx
jne case.0x525538.15
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [esp + 0x18]
push edx
push esi
call fcn.005a5550
test al, al
jbe case.0x525538.15
cmp dword [edi + 0x4e0], 1
je 0x5261c0
push 1
mov ecx, edi
call fcn.004f8770
mov eax, dword [esp + 0x70]
push 0
push 0xff
mov edx, dword [esp + 0x40]
push 0xffffffffffffffff
push 0
push 0
push 0
push 1
push ebp
push 1
push eax
mov eax, dword [esp + 0x64]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x74]
mov dword [ecx + 4], eax
movzx eax, byte [esp + 0xa0]
mov dword [ecx + 8], edx
movzx ecx, byte [esp + 0x4c]
movzx edx, byte [esp + 0x48]
push 0
push eax
push ecx
push edx
push esi
mov ecx, edi
call fcn.004f9460
jmp case.0x525538.15
push 0x20
mov ecx, esi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov ebp, 0x7f000000
call fcn.004d6780
push 8
mov ecx, esi
mov ebx, eax
call fcn.004d6720
push 8
mov ecx, esi
mov byte [esp + 0x70], al
call fcn.004d6720
test al, 1
mov byte [esp + 0x70], al
je 0x526269
mov ecx, esi
call fcn.00578540
mov ebp, eax
mov al, byte [esp + 0x70]
test al, 2
je 0x5262a3
push 0x20
push 0x3f800000
mov ecx, esi
call fcn.004d67b0
fstp dword [esp + 0x38]
push 0x20
push 0x3f800000
mov ecx, esi
call fcn.004d67b0
fstp dword [esp + 0x3c]
push 0x20
push 0x3f800000
mov ecx, esi
call fcn.004d67b0
fstp dword [esp + 0x40]
push 1
mov ecx, esi
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x525538.15
mov eax, dword [0x7a3a28]
mov ecx, dword [eax + 0x8c]
push ebx
call fcn.0059b6d0
push 1
mov ecx, edi
call fcn.004f8770
mov eax, dword [0x746644]
cmp ebp, eax
push 0
je 0x52631b
mov ecx, dword [esp + 0x70]
push ecx
push 0xffffffffffffffff
push eax
push 0xfe
push ebp
push ebx
push 0
mov ecx, edi
call fcn.00500ca0
jmp case.0x525538.15
mov edx, dword [esp + 0x70]
push edx
push 0xffffffffffffffff
push eax
push 0xfe
lea eax, [esp + 0x4c]
push eax
push ebx
push 0
mov ecx, edi
call fcn.004fd070
jmp case.0x525538.15
push 0x10
mov ecx, esi
call fcn.004d6750
push 0x10
mov ecx, esi
mov ebx, eax
call fcn.004d6750
push 1
mov ecx, esi
mov ebp, eax
call fcn.004d6230
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
push ebp
push ebx
mov ecx, edi
call fcn.004f1ef0
jmp case.0x525538.15
mov ecx, esi
call fcn.00578540
push 1
mov ecx, esi
mov edi, eax
call fcn.004d6230
test eax, eax
jne case.0x525538.15
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push edi
call fcn.004ae750
test eax, eax
je case.0x525538.15
movzx eax, byte [eax + 8]
add eax, 0xfffffffc
cmp eax, 5
ja case.0x525538.15
jmp dword [eax*4 + 0x5268f4]
push edi
push ebp
mov ecx, esi
call fcn.00570230
jmp case.0x525538.15
push edi
push ebp
mov ecx, esi
call fcn.0056a7f0
jmp case.0x525538.15
push edi
push ebp
mov ecx, esi
call fcn.0056a8c0
jmp case.0x525538.15
push edi
push ebp
mov ecx, esi
call fcn.0056aa30
jmp case.0x525538.15
xor eax, eax
mov ecx, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x6c], eax
call fcn.00578540
mov ecx, esi
mov ebx, eax
call fcn.00578540
push 1
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.004d6230
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
mov eax, dword [edi + 0xe8]
test eax, eax
je case.0x525538.15
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 8]
push ebx
call fcn.004ae760
mov edx, dword [esp + 0x28]
mov ebx, eax
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 8]
push edx
call fcn.004ae760
test ebx, ebx
mov dword [esp + 0x70], eax
je case.0x525538.15
test eax, eax
je case.0x525538.15
mov eax, dword [eax + 0x268]
cmp dword [ebx + 0x268], eax
jne 0x526493
cmp dword [edi + 4], eax
jne 0x526493
mov esi, 1
mov dword [esp + 0x6c], esi
jmp 0x526498
mov esi, 1
cmp eax, dword [edi + 4]
je 0x5264bf
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push eax
call fcn.004ae760
test eax, eax
mov dword [esp + 0x18], eax
je 0x5264c3
mov edx, dword [eax + 0x268]
cmp edx, dword [edi + 4]
jne 0x5264c3
mov dword [esp + 0x6c], esi
mov eax, dword [esp + 0x70]
mov ecx, dword [ebp + 0x58]
mov eax, dword [eax + 0x268]
cmp dword [ecx], eax
jne 0x5264ec
mov edx, dword [ebx + 0x268]
cmp edx, dword [edi + 4]
jne 0x5264ec
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x52651d
cmp dword [ecx + 0x14], eax
jne 0x5264f7
cmp dword [esp + 0x6c], 1
jne case.0x525538.15
mov eax, dword [esp + 0x70]
push eax
push ebx
mov ecx, edi
call fcn.004f0990
mov ecx, dword [edi + 4]
push 0x7f000000
push 0
push 1
push ecx
mov ecx, ebx
call fcn.00553210
jmp case.0x525538.15
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push eax
call fcn.004ae7a0
mov esi, eax
test esi, esi
je 0x5264ec
mov edx, dword [esp + 0x70]
push edx
mov ecx, esi
call fcn.00584ac0
push 1
push 0
push 0
lea eax, [esp + 0x7c]
push eax
push 1
mov ecx, edi
call fcn.004ef770
mov ecx, eax
call fcn.0055d330
test eax, eax
jne 0x526576
push 1
push eax
push eax
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esi + 0x36c]
call fcn.0055d330
jmp 0x5264ec
mov edx, dword [edi + 4]
mov ecx, dword [esp + 0x70]
push 0x7f000000
push 0
push 1
push edx
call fcn.00553210
jmp 0x5264f7
mov ecx, esi
call fcn.00578540
push 0x10
mov ecx, esi
mov ebx, eax
call fcn.004d6750
push 1
mov ecx, esi
mov ebp, eax
call fcn.004d6230
test eax, eax
jne case.0x525538.15
test edi, edi
je case.0x525538.15
mov eax, dword [edi + 0xe8]
test eax, eax
je case.0x525538.15
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 8]
push ebx
call fcn.004ae760
test eax, eax
je case.0x525538.15
movzx ecx, bp
push ecx
push eax
mov ecx, edi
call fcn.004f0a60
jmp case.0x525538.15
test edi, edi
je case.0x525538.15
mov eax, dword [edi + 0x9dc]
test eax, eax
jne case.0x525538.15
mov ecx, edi
call fcn.004cb120
test eax, eax
je case.0x525538.15
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 8]
call fcn.004aec90
mov ecx, dword [eax + 0xc4]
test ecx, ecx
je case.0x525538.15
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 8]
push 2
call fcn.004ae960
jmp case.0x525538.15
mov ecx, esi
call fcn.004d66f0
push 1
mov ecx, esi
mov ebx, eax
call fcn.004d6230
test eax, eax
jne case.0x525538.15
push 1
mov ecx, esi
call fcn.004d6240
test eax, eax
jne case.0x525538.15
test edi, edi
je 0x526686
mov eax, dword [edi + 0x9dc]
test eax, eax
jne case.0x525538.15
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push ebx
push 2
call fcn.004ae9a0
jmp case.0x525538.15
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 8]
push ebp
call fcn.004aedb0
mov ecx, eax
call fcn.0056cac0
jmp case.0x525538.15
mov ecx, esi
call fcn.004d66f0
push 1
mov ecx, esi
call fcn.004d6230
test eax, eax
jne case.0x525538.15
mov dword [ebp + 0x60], 1
jmp case.0x525538.15
push 0x20
push 0x3f800000
mov ecx, esi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
call fcn.004d67b0
fstp dword [esp + 0x44]
push 0x20
push 0x3f800000
mov ecx, esi
call fcn.004d67b0
fstp dword [esp + 0x48]
lea ecx, [esp + 0x44]
call fcn.004ab130
push 1
mov ecx, esi
call fcn.004d6230
test eax, eax
jne case.0x525538.15
mov ecx, ebp
call fcn.00561080
mov esi, eax
test esi, esi
je case.0x525538.15
mov eax, dword [esi]
mov ecx, esi
xor ebx, ebx
call dword [eax + 0x30]
test eax, eax
je 0x52675f
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
mov ecx, eax
call fcn.004ef890
mov ebx, eax
mov eax, dword [esi + 0xe8]
test eax, eax
je case.0x525538.15
mov ecx, esi
call fcn.0063e7f0
cmp eax, 1
je case.0x525538.15
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x94]
cmp eax, 1
je case.0x525538.15
cmp ebx, 1
je case.0x525538.15
test edi, edi
je 0x5267ab
mov eax, dword [edi + 0x9dc]
test eax, eax
jne case.0x525538.15
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call fcn.004cd170
jmp case.0x525538.15
mov ecx, esi
call fcn.00578540
push 1
mov ecx, esi
mov edi, eax
call fcn.004d6230
test eax, eax
jne case.0x525538.15
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 8]
push edi
call fcn.004ae770
test eax, eax
je case.0x525538.15
mov ecx, dword [eax + 0x9dc]
test ecx, ecx
jne case.0x525538.15
lea esi, [eax + 0x124]
test esi, esi
je case.0x525538.15
mov edi, dword [esi + 4]
xor edx, edx
test edi, edi
jle case.0x525538.15
mov ecx, dword [esi]
mov ebx, dword [0x746774]
mov esi, ecx
lea esp, [esp]
mov ebp, dword [esi]
movzx ebp, word [ebp + 8]
cmp ebp, ebx
je 0x526824
inc edx
add esi, 4
cmp edx, edi
jl 0x526810
jmp case.0x525538.15
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
push edx
push ecx
mov ecx, eax
call fcn.004d06c0
xor eax, eax
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x58
ret 8