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

Disassembly:
mov ecx, dword [ebp - 0x24]
add eax, 0x2ac
push ecx
push eax
mov eax, dword [ebp - 0x1c]
call fcn.005258f6
jmp 0x5c846a
cmp byte [esi + 0x7d], 1
jne 0x5c844d
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x68]
mov eax, dword [eax + 4]
test eax, eax
je 0x5c8ba9
cmp dword [eax + 0x3c], 0
je 0x5c8bae
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x5c8bb3
mov ecx, eax
call fcn.0052b780
mov dword [ebp - 0x18], eax
jmp 0x5c844d
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x114
mov eax, dword [0x569040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 8]
push edi
mov byte [ebp - 9], 1
mov byte [esi + 0x7c], 3
test eax, eax
je 0x5c8217
cmp byte [eax], 3
je 0x5c8cc9
mov ebx, dword [ebp + 8]
test dword [esi], 0x400000
jne 0x5c848e
mov al, byte [esi + 0x7d]
cmp al, 5
je 0x5c9004
cmp al, 2
je 0x5c9190
mov ecx, 8
xor edi, edi
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x20], ecx
lea edx, [ebp - 0xf0]
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x18], edi
cmp al, 4
je 0x5e1146
mov eax, dword [esi + 0x20]
cmp eax, edi
je 0x5c8276
cmp byte [eax], 4
jne 0x5c86b3
mov edi, eax
mov dword [ebp - 0x3c], edi
test eax, eax
je 0x5c8440
nop
cmp dword [edi + 0x2c], 0
je 0x5e1277
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx]
mov edx, dword [eax]
call edx
test eax, eax
je 0x5c82b0
movsx ecx, byte [eax]
mov edx, dword [ecx*4 + 0x5690c0]
shr edx, 1
test dl, 1
je 0x5e126b
cmp byte [esi + 0x7d], 1
mov eax, dword [eax + 0x1c]
sete byte [ebp - 0x11]
mov byte [ebp - 0xa], 0
mov dword [ebp - 0x40], 0
test eax, eax
je 0x5c842a
test eax, eax
je 0x5c82fa
mov cl, byte [eax]
cmp cl, 0x3a
je 0x5c8c92
movsx ecx, cl
add ecx, 0xfffffff8
cmp ecx, 0x56
ja 0x5e126b
movzx ecx, byte [ecx + 0x4aadd8]
jmp dword [ecx*4 + 0x4aadd0]
mov ebx, eax
mov dword [ebp - 0x10], 0
mov esi, dword [ebp + 8]
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov eax, dword [eax + 0x10]
mov esi, dword [esi]
mov edi, dword [ebp - 0x3c]
push ebx
push eax
xor eax, eax
call fcn.005c31ab
mov dword [ebp - 8], eax
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0x15
je 0x5c8416
cmp eax, 5
jne 0x5c86b8
mov ecx, dword [ebp - 8]
mov esi, dword [ecx + 8]
mov dword [ebp - 0x4c], esi
test esi, esi
je 0x5c8352
cmp byte [esi], 3
jne 0x5e126b
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x70]
push esi
call eax
test al, al
je 0x5c871e
mov al, byte [esi + 0x7d]
cmp al, 3
je 0x5c84ae
cmp byte [ebp - 0x11], 0
je 0x5c872d
test byte [esi + 0x7f], 1
mov edi, dword [ebp + 0xc]
jne 0x5c8d1c
cmp byte [esi + 0x7c], 3
je 0x5c88d9
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 8]
je 0x5e34ec
test eax, eax
jne 0x5c8930
mov eax, edi
call fcn.0053a9d3
test al, al
jne 0x5c8972
mov eax, dword [edi + 0x4c]
cmp dword [eax + 8], 0
jne 0x5e324e
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov esi, dword [ebp - 8]
mov ebx, dword [ebp + 0xc]
push 0x1dc
push 0
push eax
call fcn.0052c8b2
test al, al
jne 0x5c83fb
mov ecx, dword [ebp - 0x4c]
test dword [ecx + 0x80], 0x800
jne 0x5c8a0e
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 8]
mov eax, ebx
mov ebx, dword [ecx + 4]
push 0x33
call fcn.005c3518
mov edx, esi
mov byte [ebp - 0xa], 1
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x10], 0
mov byte [ebp - 0x11], 0
jne 0x5c8cc1
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0x3c]
mov eax, dword [edi + 0x24]
test eax, eax
jne 0x5e34d4
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x5e34e2
cmp dword [ebp - 0x18], 0
mov esi, dword [ebp + 0xc]
je 0x5c819c
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [ebp - 0x1c], 0
mov edi, eax
mov eax, dword [edi + 8]
jne 0x5c7ddb
mov eax, 0x569058
mov edx, dword [edi]
push eax
mov eax, dword [edx + 0x78]
push esi
mov ecx, edi
call eax
mov ebx, dword [ebx]
mov edx, dword [ebx]
mov eax, dword [edx + 0x10]
mov ecx, ebx
call eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [eax]
mov edx, dword [edx + 0x74]
push ecx
push esi
mov ecx, eax
call edx
mov byte [esi + 0x7c], 4
mov al, byte [ebp - 9]
lea esp, [ebp - 0x120]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0051f3a3
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 0xc]
call fcn.0053a9d3
test al, al
jne 0x5c8a66
mov ecx, dword [ebp - 0x40]
xor eax, eax
test ecx, ecx
jg 0x5c91ee
cmp byte [esi + 0x7c], 3
je 0x5c8a9a
mov edi, dword [ebp - 0x1c]
xor eax, eax
test edi, edi
jg 0x5c9176
mov eax, dword [ebp - 0x48]
cmp edi, eax
jge 0x5e122e
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
mov dword [eax + edi*4], edx
inc edi
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x20]
cmp dword [ebp - 0x40], edi
jge 0x5e11f4
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 8]
mov dword [ecx + eax*4], edx
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x7d], 3
jne 0x5c8416
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 4]
mov edx, eax
mov eax, dword [ebp - 8]
push edx
push eax
mov ecx, esi
call fcn.005c343f
test al, al
jne 0x5c8416
jmp 0x5c8b27
test ecx, ecx
jne 0x5e126b
cmp ecx, 3
je 0x5c8cda
call 0x627dbf
test edi, edi
je 0x5c8563
call 0x627dbf
cmp edi, 3
je 0x5c8d08
call 0x627dbf
sub esp, 0x10
mov eax, esp
mov ecx, 5
mov edx, 1
mov word [eax], cx
mov dword [eax + 4], esi
mov word [eax + 2], dx
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x5c85a6
mov eax, dword [ecx]
and eax, 0xff
cmp eax, 3
je 0x5c85a6
test eax, eax
je 0x5c85a6
call 0x627dbf
sub esp, 0x10
mov eax, esp
mov dword [eax + 4], ecx
mov edx, 5
mov word [eax], dx
mov edx, dword [ebp + 8]
mov ecx, 1
mov word [eax + 2], cx
mov ecx, dword [edx]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
mov eax, dword [eax + 0x10]
push 0x6e
push 0
mov edi, eax
call fcn.00548d0a
mov byte [ebp - 9], 0
jmp 0x5c8217
call 0x627dbf
call 0x627dbf
mov esi, dword [esi + 0x20]
mov dword [ebp - 0x20], esi
test esi, esi
je 0x5c8600
cmp byte [esi], 4
je 0x5c8600
call 0x627dbf
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
mov edi, dword [eax + 0x10]
mov eax, dword [ebp - 0x10]
mov esi, dword [ebx]
push eax
call fcn.00566e8b
push eax
push edi
mov edi, dword [ebp - 0x20]
xor eax, eax
call fcn.005c31ab
mov esi, eax
call fcn.0052c8f0
test al, al
je 0x5c865c
mov eax, esi
call fcn.0052baf1
mov eax, dword [eax + 0x80]
mov esi, dword [ebp + 0xc]
and eax, 0x1ff
mov dword [ebp - 0x1c], eax
mov edi, eax
jmp 0x5e11be
mov edi, 2
jmp 0x5c9058
call 0x627dbf
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp + 0xc]
jmp 0x5e11c7
call 0x627dbf
call 0x627dbf
mov ecx, dword [ebp - 0x10]
push edi
push ecx
mov ebx, eax
call 0x644eef
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
jmp 0x5c90cc
call 0x627dbf
call 0x627dbf
call 0x627dbf
call 0x627dbf
call 0x627dbf
call 0x627dbf
mov dword [ebp - 0x18], edi
jmp 0x5e117e
call 0x627dbf
call 0x627dbf
cmp eax, 7
jne 0x5c8700
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx]
lea esi, [eax + 4]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov edi, dword [eax + 0x10]
push 1
push 0x1ce
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], edx
push ebx
lea esi, [ebp - 0xa0]
jmp 0x5c8b9f
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov edi, dword [eax + 0x10]
push 0
push 0x27d
push ebx
xor esi, esi
jmp 0x5c8b9f
cmp byte [esi + 0x7c], 3
je 0x5c8370
jmp 0x5c8416
mov ecx, dword [ebp + 0xc]
cmp byte [ecx + 0x7d], 1
jne 0x5c8884
cmp al, 1
jne 0x5c8884
cmp byte [ebp - 0xa], 0
mov edi, 0x30005
jne 0x5c8812
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x30]
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0xc], edx
sub esp, 0x10
mov eax, esp
mov edx, 0xb
mov dword [eax], edx
mov edx, dword [ebp - 0x30]
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x2c]
push 0x337
push ebx
mov edi, ecx
mov dword [eax + 0xc], edx
call fcn.00548d0a
jmp 0x5c8385
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
call 0x6346e1
test al, al
jne 0x5c8392
test byte [edi + 0x7f], 1
jne 0x5c8392
sub esp, 0x10
mov eax, esp
mov dword [eax + 4], esi
mov ecx, 5
mov word [eax], cx
mov edx, 1
mov word [eax + 2], dx
mov edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
mov word [eax], cx
mov dword [eax + 4], edx
mov edx, dword [ebp + 8]
mov ecx, 1
mov word [eax + 2], cx
mov ecx, dword [edx]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
mov eax, dword [eax + 0x10]
push 0x1a5
push 0
mov edi, eax
call fcn.00548d0a
jmp 0x5c8416
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x30]
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0xc], ecx
sub esp, 0x10
mov eax, esp
mov ecx, 0xb
mov dword [eax], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x18]
sub esp, 0x10
mov dword [eax + 0xc], ecx
mov eax, esp
push edx
call 0x5e56cf
mov ecx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
push ecx
call 0x5e56cf
mov edi, dword [ebp - 8]
push 0x336
push ebx
call 0x63c6fb
jmp 0x5c8416
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov edi, 0x30005
call edx
mov edx, dword [ebp - 0x30]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edi
mov edi, dword [eax + 0x10]
mov dword [ecx + 4], esi
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0xc], edx
sub esp, 0x10
mov ecx, esp
mov edx, 0xb
mov dword [ecx], edx
mov edx, dword [ebp - 0x30]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x2c]
push 0x14f
push ebx
mov dword [ecx + 0xc], edx
call fcn.00548d0a
jmp 0x5c8416
mov edx, dword [ebp - 8]
sub esp, 0x10
mov eax, esp
mov dword [eax + 4], edx
mov ecx, 5
mov word [eax], cx
mov ecx, 1
mov word [eax + 2], cx
mov ecx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
mov edx, 5
mov word [eax], dx
mov dword [eax + 4], ecx
mov edx, 1
mov word [eax + 2], dx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov eax, dword [eax + 0x10]
push 0x6e
push 0
mov edi, eax
call fcn.00548d0a
jmp 0x5c8416
mov edx, dword [ebp + 0xc]
mov ecx, 5
mov word [ebp - 0xd0], cx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [ebp - 0xcc], edx
mov edx, dword [ecx]
mov eax, 1
mov word [ebp - 0xce], ax
mov eax, dword [edx + 0x10]
call eax
mov edi, dword [eax + 0x10]
push 1
push 0xd2
lea esi, [ebp - 0xd0]
jmp 0x5c8b9d
mov eax, dword [ebp - 8]
mov edx, 0xf
call fcn.0052b980
test al, al
jne 0x5c83bf
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov edi, dword [eax + 0x10]
mov ecx, dword [ebp - 8]
sub esp, 0x10
mov eax, esp
push ecx
call 0x5e56cf
mov edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
push edx
call 0x5e56cf
push 0x1e0
push ebx
call fcn.00548d0a
jmp 0x5c8416
sub esp, 0x10
mov eax, esp
mov edx, 5
mov word [eax], dx
mov ecx, esi
mov dword [eax + 4], ecx
mov edx, 1
mov word [eax + 2], dx
sub esp, 0x10
mov eax, esp
mov ecx, 5
mov word [eax], cx
mov edx, ebx
mov dword [eax + 4], edx
mov edx, dword [ebp + 8]
mov ecx, 1
mov word [eax + 2], cx
mov ecx, dword [edx]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
mov eax, dword [eax + 0x10]
push 0x142
push 0
mov edi, eax
call fcn.00548d0a
jmp 0x5c83fb
mov edx, dword [ebp + 0xc]
mov eax, 5
mov word [ebp - 0x38], ax
mov eax, dword [ebp + 8]
xor ecx, ecx
mov word [ebp - 0x36], cx
mov ecx, dword [eax]
mov dword [ebp - 0x34], edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov edi, dword [eax + 0x10]
push 1
push 0x1e1
push ebx
lea esi, [ebp - 0x38]
jmp 0x5c8b9f
mov edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
mov dword [eax + 4], edx
mov ecx, 5
mov word [eax], cx
mov ecx, 1
mov word [eax + 2], cx
mov ecx, dword [ebp - 8]
sub esp, 0x10
mov eax, esp
mov edx, 5
mov word [eax], dx
mov dword [eax + 4], ecx
mov edx, 1
mov word [eax + 2], dx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov eax, dword [eax + 0x10]
push 0x151
push 0
mov edi, eax
call fcn.00548d0a
jmp 0x5c8416
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov esi, 0xb
call eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov edi, dword [eax + 0x10]
push 1
push 0x150
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edx
push ebx
lea esi, [ebp - 0x80]
jmp 0x5c8b9f
mov ecx, 5
mov eax, ecx
mov word [ebp - 0x70], cx
mov edx, 1
mov ecx, edx
mov word [ebp - 0x6e], dx
mov word [ebp - 0x60], ax
mov eax, dword [ebp + 0xc]
mov word [ebp - 0x5e], cx
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0xc0], edx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xb4], edx
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x64]
push 2
lea edi, [esi + 0x3dc]
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], eax
push 0x34
lea esi, [ebp - 0xc0]
push 0
call fcn.005488d2
jmp 0x5c8416
call 0x627dbf
call 0x627dbf
mov dword [ebp - 0x18], eax
jmp 0x5c844d
mov ebx, dword [eax + 0x14]
test ebx, ebx
je 0x5c8cb6
movsx ecx, byte [ebx]
add ecx, 0xfffffff8
cmp ecx, 0x56
ja 0x5e126b
movzx ecx, byte [ecx + 0x4aad78]
jmp dword [ecx*4 + 0x4aad70]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x10], edx
jmp 0x5c8303
mov eax, dword [ebp - 0x10]
jmp 0x5c82ce
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 3
jne 0x5c8544
cmp byte [eax + 0x7c], 3
je 0x5c8571
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
mov edx, dword [esi + 8]
test edx, edx
je 0x5c8d08
mov edi, dword [edx]
and edi, 0xff
cmp edi, 3
jne 0x5c855a
mov edi, dword [eax]
mov ecx, eax
mov eax, dword [edi + 0x70]
push edx
call eax
and al, 1
mov byte [ebp - 9], al
jmp 0x5c821a
mov eax, dword [esi + 0x80]
and eax, 0x1ff
cmp eax, 0x18
je 0x5c87b6
cmp eax, 0x17
je 0x5c87b6
cmp eax, 0x11
je 0x5c87b6
cmp eax, 0x12
je 0x5c87b6
cmp eax, 0x13
jne 0x5c8392
jmp 0x5c87a3
mov eax, dword [esi + 0x20]
test eax, eax
je 0x5c9014
cmp byte [eax], 4
jne 0x5c85e2
cmp dword [eax + 0x2c], 0
je 0x5e1270
mov eax, dword [eax + 0x2c]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx]
call eax
test eax, eax
je 0x5c9042
movsx ecx, byte [eax]
mov edx, dword [ecx*4 + 0x5690c0]
shr edx, 1
test dl, 1
je 0x5c85e7
mov eax, dword [eax + 0x1c]
mov edi, 2
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], edi
test eax, eax
jne 0x5e11b1
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x68]
cmp edi, 0x82
ja 0x5e126b
lea edx, [edi + edi*4]
cmp byte [edx*8 + 0x4061b4], 0
je 0x5c8657
mov eax, dword [eax + 4]
test eax, eax
je 0x5c8667
cmp dword [eax + edi*4], 0
je 0x5c866c
mov ecx, dword [ebx]
mov edi, dword [eax + edi*4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x70]
push edi
call eax
mov ecx, edi
call fcn.0052b780
mov edi, eax
mov dword [esi + 0x3c], edi
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
test eax, eax
jne 0x5c8671
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x68]
mov eax, dword [eax + 4]
test eax, eax
je 0x5c8688
cmp dword [eax + 0x60], 0
je 0x5c868d
mov ecx, dword [ebx]
mov edi, dword [eax + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x20], edi
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x70]
push edi
call eax
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov edi, dword [eax]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
add edi, 0x74
call fcn.0052b780
mov ecx, dword [ebp - 0x10]
mov edx, dword [edi]
push eax
push esi
call edx
mov ebx, dword [ebx]
mov eax, dword [ebx]
mov edx, dword [eax + 0x10]
mov ecx, ebx
call edx
mov edx, dword [eax]
push 0x569058
mov ecx, eax
mov eax, dword [edx + 0x78]
push esi
call eax
jmp 0x5c848e
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
cmp dword [edx + eax*4], ecx
je 0x5c84fa
inc eax
cmp eax, edi
jge 0x5c84e2
jmp 0x5c9176
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x68]
mov eax, dword [eax + 4]
test eax, eax
je 0x5c8692
cmp dword [eax + 0x48], 0
je 0x5c8697
mov ecx, dword [ebx]
mov edi, dword [eax + 0x48]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x20], edi
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x70]
push edi
call eax
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov edi, dword [eax]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
add edi, 0x74
call fcn.0052b780
mov ecx, dword [ebp - 0x10]
jmp 0x5c9125
mov edx, dword [ebp - 0x44]
mov edi, dword [edx + eax*4]
cmp edi, dword [ebp - 8]
je 0x5c8af4
inc eax
cmp eax, ecx
jge 0x5c84cb
jmp 0x5c91f1
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 4]
cmp eax, edi
je 0x5c869c
cmp dword [eax + 0x5c], edi
je 0x5c86a1
mov eax, dword [eax + 0x5c]
cmp eax, edi
je 0x5c86a6
mov ecx, eax
call fcn.0052b780
mov dword [ebp - 0x18], eax
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 8]
cmp edx, edi
je 0x5e119a
cmp byte [edx], 3
jne 0x5c86ae
mov ecx, eax
mov eax, dword [eax]
push edx
mov edx, dword [eax + 0x70]
call edx
jmp 0x5c8266
cmp byte [eax], 0x51
jne 0x5c85ec
movzx edi, byte [eax + 0x14]
cmp edi, 0xc
ja 0x5c864d
movzx ecx, byte [edi + 0x4aad60]
jmp dword [ecx*4 + 0x4aad58]
lea ebx, [edi + edi]
lea eax, [ebx*4]
mov ecx, eax
shr ecx, 2
cmp ecx, ebx
jne 0x5e126b
call fcn.0051f83d
mov eax, dword [ebp - 0x44]
mov esi, esp
lea edx, [edi*4]
push edx
push eax
push esi
call fcn.0051fb21
add esp, 0xc
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x20], ebx
jmp 0x5c8506
lea ebx, [eax + eax]
lea eax, [ebx*4]
mov ecx, eax
shr ecx, 2
cmp ecx, ebx
jne 0x5e126b
call fcn.0051f83d
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x24]
mov esi, esp
lea eax, [edx*4]
push eax
push ecx
push esi
call fcn.0051fb21
add esp, 0xc
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x48], ebx
jmp 0x5c84ed
call 0x627dbf
xor eax, eax
jmp 0x5c9042
xor eax, eax
jmp 0x5c82b0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov edi, eax
mov eax, esi
call fcn.0052cce6
test al, al
je 0x5c83cc
jmp 0x5c89c2
cmp byte [eax], 4
je 0x5c8435
jmp 0x5e126b
mov esi, dword [ebp + 0xc]
mov edi, eax
jmp 0x5c8284
mov byte [ebp - 0xa], 1
jmp 0x5c8416