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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe6c
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
push ebx
call fcn.005d479c
pop ecx
mov word [ebp - 0xf0], 0x3f
mov dword [ebp - 0xec], 1
xor edx, edx
mov dword [ebp - 0xe8], edx
xor ecx, ecx
mov dword [ebp - 0xe4], ecx
lea eax, [ebx + 0xa8]
mov dx, word [eax]
cmp dx, word [ebp - 0xf0]
jne 0x5c7dad
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0xec]
je 0x5c7db1
xor ecx, ecx
jmp 0x5c7db6
mov ecx, 1
test ecx, ecx
je 0x5c8a14
xor esi, esi
push ebx
call fcn.005d479c
pop ecx
xor eax, eax
mov dword [ebp - 4], eax
mov word [ebp - 6], 0x3e
movzx edx, word [ebx + 0xa8]
cmp edx, 0x3d
jg 0x5c7e03
je 0x5c7e2a
sub edx, 0x21
je 0x5c7e23
sub edx, 6
je 0x5c7f11
dec edx
je 0x5c842c
sub edx, 0x14
je 0x5c7e7f
jmp 0x5c86ee
sub edx, 0x3e
je 0x5c8154
sub edx, 0x12
je 0x5c7f00
sub edx, 2
je 0x5c81a0
jmp 0x5c86ee
mov dword [ebp - 4], 1
push ebx
call fcn.005d479c
pop ecx
push 0xc
call fcn.005c6870
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
je 0x5c7e6a
cmp dword [ebp - 4], 0
sete dl
and edx, 1
push edx
mov ecx, dword [edi]
and ecx, 0xffffffef
push ecx
push ebx
call fcn.005d6848
add esp, 8
push eax
push dword [ebp - 0xc]
call fcn.005d1130
add esp, 0xc
mov esi, eax
jmp 0x5c7e6d
mov esi, dword [ebp - 0xc]
push esi
lea eax, [ebx + 0x14]
push eax
call fcn.005c789c
add esp, 8
jmp 0x5c8a01
mov dx, word [ebx + 0xb8]
sub dx, 0x21
je 0x5c7e94
sub dx, 0x1c
je 0x5c7e9b
jmp 0x5c7ef8
mov dword [ebp - 4], 1
push ebx
call fcn.005d479c
pop ecx
push ebx
call fcn.005d479c
pop ecx
push 0xc
call fcn.005c6870
pop ecx
mov dword [ebp - 0x14], eax
test eax, eax
je 0x5c7ee0
cmp dword [ebp - 4], 0
sete dl
and edx, 1
push edx
mov ecx, dword [edi]
or ecx, 0x10
push ecx
push ebx
call fcn.005d6848
add esp, 8
push eax
push dword [ebp - 0x14]
call fcn.005d1130
add esp, 0xc
jmp 0x5c7ee3
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
push dword [ebp - 0x10]
lea edx, [ebx + 0x14]
push edx
call fcn.005c789c
add esp, 8
mov esi, dword [ebp - 0x10]
test esi, esi
jne 0x5c8a01
cmp word [ebx + 0xa8], 0x50
jne 0x5c7f11
push ebx
call fcn.005d479c
pop ecx
cmp word [ebx + 0xa8], 0x3c
jne 0x5c7f23
mov word [ebp - 6], 0x3e
jmp 0x5c7f33
cmp word [ebx + 0xa8], 0x27
jne 0x5c7f33
mov word [ebp - 6], 0x27
push ebx
call fcn.005d479c
pop ecx
mov eax, dword [ebx + 0xc]
inc dword [ebx + 0xc]
mov dword [ebp - 0x18], eax
push 0x1c
call fcn.005c6870
pop ecx
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x5c7f67
mov edx, dword [edi]
and edx, 0x10
push edx
push dword [ebp - 0x1c]
call fcn.005c6dac
add esp, 8
mov esi, eax
jmp 0x5c7f6a
mov esi, dword [ebp - 0x1c]
push esi
lea eax, [ebx + 0x14]
push eax
call fcn.005c789c
add esp, 8
push 0x20
call fcn.005c6870
pop ecx
mov dword [ebp - 0x28], eax
test eax, eax
je 0x5c7fa4
test byte [edi], 0x10
je 0x5c7f92
mov edx, 1
jmp 0x5c7f94
xor edx, edx
push edx
push 0xffffffffffffffff
push dword [ebp - 0x28]
call fcn.005c8c94
add esp, 0xc
jmp 0x5c7fa7
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
push dword [ebp - 0x24]
lea ecx, [ebx + 0x14]
push ecx
call fcn.005c789c
add esp, 8
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
push 0x20
call fcn.005c6870
pop ecx
mov dword [ebp - 0x34], eax
test eax, eax
je 0x5c7fec
test byte [edi], 0x10
je 0x5c7fd7
xor edx, edx
jmp 0x5c7fdc
mov edx, 1
push edx
push 0xffffffffffffffff
push dword [ebp - 0x34]
call fcn.005c8c94
add esp, 0xc
jmp 0x5c7fef
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
push dword [ebp - 0x30]
lea ecx, [ebx + 0x14]
push ecx
call fcn.005c789c
add esp, 8
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x20]
add edx, 0xc
mov dword [ebp - 0x38], edx
lea ecx, [ebp - 0x104]
push ecx
call fcn.005ce1b8
pop ecx
jmp 0x5c807d
mov ax, word [ebx + 0xa8]
mov word [ebp - 0x3a], ax
push 1
push 1
lea edx, [ebp - 0x3a]
push edx
push dword [ebp - 0x38]
call fcn.005c7b14
add esp, 0x10
mov cx, word [ebx + 0xa8]
and cx, 0xff
cmp cx, word [ebx + 0xa8]
jne 0x5c805a
mov al, byte [ebx + 0xa8]
jmp 0x5c805c
xor eax, eax
mov byte [ebp - 0x3b], al
push 1
push 1
lea edx, [ebp - 0x3b]
push edx
lea ecx, [ebp - 0x104]
push ecx
call fcn.005d6674
add esp, 0x10
push ebx
call fcn.005d479c
pop ecx
cmp word [ebx + 0xa8], 0
je 0x5c8094
mov ax, word [ebx + 0xa8]
cmp ax, word [ebp - 6]
jne 0x5c801f
push ebx
call fcn.005d479c
pop ecx
lea edx, [ebp - 0x104]
push edx
call fcn.005d6830
pop ecx
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x40]
push ecx
lea eax, [ebp - 0x44]
push eax
call fcn.005ccf9c
add esp, 8
test eax, eax
je 0x5c80cd
mov edx, dword [ebp - 0x44]
cmp byte [edx], 0
sete cl
and ecx, 1
jmp 0x5c80cf
xor ecx, ecx
test ecx, ecx
je 0x5c80ee
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x40]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x40]
mov dword [eax + 4], edx
push dword [ebp - 0x38]
call fcn.005c8e54
pop ecx
push dword [ebp - 0x20]
lea ecx, [esi + 4]
push ecx
call fcn.005c789c
add esp, 8
push dword [edi]
push ebx
call fcn.005d6848
add esp, 8
push eax
lea eax, [esi + 4]
push eax
call fcn.005c789c
add esp, 8
push dword [ebp - 0x2c]
lea edx, [esi + 4]
push edx
call fcn.005c789c
add esp, 8
push 0
push dword [ebp - 0x18]
lea ecx, [ebx + 0x50]
push ecx
call fcn.005d183c
add esp, 0xc
mov eax, dword [ebx + 0x5c]
mov edx, dword [ebp - 0x18]
mov dword [eax + edx*4], esi
push 2
lea ecx, [ebp - 0x104]
push ecx
call fcn.005d62ec
add esp, 8
jmp 0x5c8a01
push ebx
call fcn.005d479c
pop ecx
push 8
call fcn.005c6870
pop ecx
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x5c8183
push dword [edi]
push ebx
call fcn.005d6848
add esp, 8
push eax
push dword [ebp - 0x4c]
call fcn.005d1aa8
add esp, 8
jmp 0x5c8186
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x48], eax
push dword [ebp - 0x48]
lea edx, [ebx + 0x14]
push edx
call fcn.005c789c
add esp, 8
mov esi, dword [ebp - 0x48]
jmp 0x5c8a01
push ebx
call fcn.005d479c
pop ecx
jmp 0x5c81b0
push ebx
call fcn.005d479c
pop ecx
cmp word [ebx + 0xa8], 0
je 0x5c81cc
movzx eax, word [ebx + 0xa8]
push eax
call fcn.005c6210
pop ecx
test eax, eax
jne 0x5c81a9
cmp word [ebx + 0xa8], 0x3c
je 0x5c81e4
cmp word [ebx + 0xa8], 0x27
jne 0x5c8342
cmp word [ebx + 0xa8], 0x3c
jne 0x5c81f4
mov dx, 0x3e
jmp 0x5c81f8
mov dx, 0x27
mov word [ebp - 6], dx
push 0x20
call fcn.005c6870
pop ecx
mov dword [ebp - 0x58], eax
test eax, eax
je 0x5c821a
push 0xfffffffffffffffd
push dword [ebp - 0x58]
call fcn.005c90f8
add esp, 8
jmp 0x5c821d
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x54], eax
push dword [ebp - 0x54]
lea edx, [ebx + 0x14]
push edx
call fcn.005c789c
add esp, 8
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x50], ecx
push ebx
call fcn.005d479c
pop ecx
mov eax, dword [ebp - 0x50]
add eax, 0xc
mov dword [ebp - 0x5c], eax
lea edx, [ebp - 0x118]
push edx
call fcn.005ce1b8
pop ecx
jmp 0x5c82b2
mov cx, word [ebx + 0xa8]
mov word [ebp - 0x5e], cx
push 1
push 1
lea eax, [ebp - 0x5e]
push eax
push dword [ebp - 0x5c]
call fcn.005c7b14
add esp, 0x10
mov dx, word [ebx + 0xa8]
and dx, 0xff
cmp dx, word [ebx + 0xa8]
jne 0x5c828f
mov cl, byte [ebx + 0xa8]
jmp 0x5c8291
xor ecx, ecx
mov byte [ebp - 0x5f], cl
push 1
push 1
lea eax, [ebp - 0x5f]
push eax
lea edx, [ebp - 0x118]
push edx
call fcn.005d6674
add esp, 0x10
push ebx
call fcn.005d479c
pop ecx
cmp word [ebx + 0xa8], 0
je 0x5c82c9
mov ax, word [ebx + 0xa8]
cmp ax, word [ebp - 6]
jne 0x5c8254
push ebx
call fcn.005d479c
pop ecx
lea edx, [ebp - 0x118]
push edx
call fcn.005d6830
pop ecx
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x64]
push ecx
lea eax, [ebp - 0x68]
push eax
call fcn.005ccf9c
add esp, 8
test eax, eax
je 0x5c8302
mov edx, dword [ebp - 0x68]
cmp byte [edx], 0
sete cl
and ecx, 1
jmp 0x5c8304
xor ecx, ecx
test ecx, ecx
je 0x5c831a
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x64]
mov dword [eax + 8], edx
push dword [ebp - 0x5c]
call fcn.005c8e54
pop ecx
push dword [ebp - 0x50]
lea eax, [ebx + 0x3c]
push eax
call fcn.005c92fc
add esp, 8
mov esi, dword [ebp - 0x50]
push 2
lea eax, [ebp - 0x118]
push eax
call fcn.005d62ec
add esp, 8
jmp 0x5c8a01
lea edx, [ebp - 0x12c]
push edx
call fcn.005ce1b8
pop ecx
jmp 0x5c8391
mov cx, word [ebx + 0xa8]
and cx, 0xff
cmp cx, word [ebx + 0xa8]
jne 0x5c836e
mov al, byte [ebx + 0xa8]
jmp 0x5c8370
xor eax, eax
mov byte [ebp - 0x69], al
push 1
push 1
lea edx, [ebp - 0x69]
push edx
lea ecx, [ebp - 0x12c]
push ecx
call fcn.005d6674
add esp, 0x10
push ebx
call fcn.005d479c
pop ecx
cmp word [ebx + 0xa8], 0
je 0x5c83a5
cmp word [ebx + 0xa8], 0x29
jne 0x5c8351
xor eax, eax
mov dword [ebp - 0x70], eax
lea edx, [ebp - 0x12c]
push edx
call fcn.005d6830
pop ecx
mov dword [ebp - 0x74], eax
lea ecx, [ebp - 0x70]
push ecx
lea eax, [ebp - 0x74]
push eax
call fcn.005ccf9c
add esp, 8
push 0x20
call fcn.005c6870
pop ecx
mov dword [ebp - 0x80], eax
test eax, eax
je 0x5c83e9
push dword [ebp - 0x70]
push dword [ebp - 0x80]
call fcn.005c90f8
add esp, 8
jmp 0x5c83ec
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x7c], eax
push dword [ebp - 0x7c]
lea edx, [ebx + 0x14]
push edx
call fcn.005c789c
add esp, 8
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x78], ecx
push dword [ebp - 0x78]
lea eax, [ebx + 0x3c]
push eax
call fcn.005c92fc
add esp, 8
mov esi, dword [ebp - 0x78]
push 2
lea eax, [ebp - 0x12c]
push eax
call fcn.005d62ec
add esp, 8
jmp 0x5c8a01
push 0x28
call fcn.005c6870
pop ecx
mov dword [ebp - 0x8c], eax
test eax, eax
je 0x5c844c
push dword [ebp - 0x8c]
call fcn.005c93cc
pop ecx
jmp 0x5c8452
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x88], eax
push dword [ebp - 0x88]
lea edx, [ebx + 0x14]
push edx
call fcn.005c789c
add esp, 8
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
add eax, 0x1c
mov dword [ebp - 0x90], eax
mov word [ebp - 0x13c], 0x3f
mov dword [ebp - 0x138], 1
xor edx, edx
mov dword [ebp - 0x134], edx
xor ecx, ecx
mov dword [ebp - 0x130], ecx
lea eax, [ebx + 0xb8]
mov dword [ebp - 0x94], eax
mov edx, dword [ebp - 0x94]
mov cx, word [edx]
cmp cx, word [ebp - 0x13c]
jne 0x5c84d7
mov eax, dword [ebp - 0x94]
mov edx, dword [eax + 4]
cmp edx, dword [ebp - 0x138]
je 0x5c84db
xor ecx, ecx
jmp 0x5c84e0
mov ecx, 1
test ecx, ecx
je 0x5c84fb
push edi
push ebx
call fcn.005c7d54
add esp, 8
mov edx, dword [ebp - 0x90]
mov dword [edx], eax
jmp 0x5c8689
push ebx
call fcn.005d479c
pop ecx
mov esi, dword [ebx + 0xb0]
push 0xc
call fcn.005c6870
pop ecx
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x5c8538
push 1
push dword [edi]
push ebx
call fcn.005d6848
add esp, 8
push eax
push dword [ebp - 0x9c]
call fcn.005d1130
add esp, 0xc
jmp 0x5c853e
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x98], eax
push dword [ebp - 0x98]
lea edx, [ebx + 0x14]
push edx
call fcn.005c789c
add esp, 8
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
push 1
mov edx, dword [ebx + 0xb0]
sub edx, esi
push edx
lea ecx, [ebx + 0x8c]
push ecx
call fcn.005d6328
pop ecx
mov edx, esi
add edx, edx
add eax, edx
push eax
mov eax, dword [ebp - 0x84]
add eax, 8
push eax
call fcn.005c7b14
add esp, 0x10
lea ecx, [ebp - 0x150]
push ecx
call fcn.005ce1b8
pop ecx
jmp 0x5c85eb
lea eax, [ebx + 0x8c]
cmp esi, dword [eax + 8]
jl 0x5c85b3
xor edx, edx
jmp 0x5c85ba
mov ecx, dword [eax + 4]
mov dx, word [ecx + esi*2]
mov eax, edx
mov ecx, eax
and cx, 0xff
cmp ax, cx
je 0x5c85ca
xor eax, eax
mov byte [ebp - 0x9d], al
push 1
push 1
lea eax, [ebp - 0x9d]
push eax
lea edx, [ebp - 0x150]
push edx
call fcn.005d6674
add esp, 0x10
inc esi
cmp esi, dword [ebx + 0xb0]
jl 0x5c85a4
lea ecx, [ebp - 0x150]
push ecx
call fcn.005d6830
pop ecx
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xa4]
push eax
lea edx, [ebp - 0xa8]
push edx
call fcn.005ccf9c
add esp, 8
test eax, eax
je 0x5c8631
mov ecx, dword [ebp - 0xa8]
cmp byte [ecx], 0
sete al
and eax, 1
jmp 0x5c8633
xor eax, eax
test eax, eax
je 0x5c8652
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xa4]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x90]
xor edx, edx
mov dword [eax], edx
jmp 0x5c8671
mov ecx, dword [ebp - 0x84]
mov dword [ecx + 4], 0xffffffff
push dword [ebp - 0x84]
lea eax, [ebx + 0x78]
push eax
call fcn.005c959c
add esp, 8
push ebx
call fcn.005d479c
pop ecx
push 2
lea edx, [ebp - 0x150]
push edx
call fcn.005d62ec
add esp, 8
mov ecx, dword [edi]
mov dword [ebp - 0xac], ecx
lea eax, [ebp - 0xac]
push eax
push ebx
call fcn.005c64e4
add esp, 8
mov edx, dword [ebp - 0x84]
mov dword [edx + 0x20], eax
cmp word [ebx + 0xa8], 0x7c
jne 0x5c86d1
push ebx
call fcn.005d479c
pop ecx
push dword [edi]
push ebx
call fcn.005d6848
add esp, 8
mov ecx, dword [ebp - 0x84]
mov dword [ecx + 0x24], eax
jmp 0x5c86dc
mov eax, dword [ebp - 0x84]
xor edx, edx
mov dword [eax + 0x24], edx
mov esi, dword [ebp - 0x84]
jmp 0x5c8a01
push ebx
call fcn.005d479c
pop ecx
cmp word [ebx + 0xa8], 0
je 0x5c870a
movzx eax, word [ebx + 0xa8]
push eax
call fcn.005c6210
pop ecx
test eax, eax
jne 0x5c86e7
cmp word [ebx + 0xa8], 0x30
jb 0x5c8840
cmp word [ebx + 0xa8], 0x39
ja 0x5c8840
lea edx, [ebp - 0x164]
push edx
call fcn.005ce1b8
pop ecx
jmp 0x5c877b
mov cx, word [ebx + 0xa8]
and cx, 0xff
cmp cx, word [ebx + 0xa8]
jne 0x5c8752
mov al, byte [ebx + 0xa8]
jmp 0x5c8754
xor eax, eax
mov byte [ebp - 0xad], al
push 1
push 1
lea edx, [ebp - 0xad]
push edx
lea ecx, [ebp - 0x164]
push ecx
call fcn.005d6674
add esp, 0x10
push ebx
call fcn.005d479c
pop ecx
cmp word [ebx + 0xa8], 0
je 0x5c878f
cmp word [ebx + 0xa8], 0x29
jne 0x5c8735
xor eax, eax
mov dword [ebp - 0xb4], eax
lea edx, [ebp - 0x164]
push edx
call fcn.005d6830
pop ecx
mov dword [ebp - 0xb8], eax
lea ecx, [ebp - 0xb4]
push ecx
lea eax, [ebp - 0xb8]
push eax
call fcn.005ccf9c
add esp, 8
push 0x20
call fcn.005c6870
pop ecx
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x5c87e8
push dword [ebp - 0xb4]
push dword [ebp - 0xc4]
call fcn.005c90f8
add esp, 8
jmp 0x5c87ee
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc0], eax
push dword [ebp - 0xc0]
lea edx, [ebx + 0x14]
push edx
call fcn.005c789c
add esp, 8
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xbc], ecx
push dword [ebp - 0xbc]
lea eax, [ebx + 0x3c]
push eax
call fcn.005c92fc
add esp, 8
mov esi, dword [ebp - 0xbc]
push 2
lea eax, [ebp - 0x164]
push eax
call fcn.005d62ec
add esp, 8
jmp 0x5c8a01
mov esi, dword [edi]
jmp 0x5c88b8
xor eax, eax
movzx edx, word [ebx + 0xa8]
cmp edx, 0x53
jg 0x5c886a
je 0x5c8887
sub edx, 0x2d
je 0x5c889c
sub edx, 0x1a
je 0x5c8895
sub edx, 2
je 0x5c8880
sub edx, 4
je 0x5c888e
jmp 0x5c88a3
sub edx, 0x67
je 0x5c8895
sub edx, 2
je 0x5c8880
sub edx, 4
je 0x5c888e
sub edx, 6
je 0x5c8887
jmp 0x5c88a3
mov eax, 8
jmp 0x5c88a3
mov eax, 1
jmp 0x5c88a3
mov eax, 2
jmp 0x5c88a3
mov eax, 4
jmp 0x5c88a3
mov dword [ebp - 4], 1
cmp dword [ebp - 4], 0
je 0x5c88af
not eax
and esi, eax
jmp 0x5c88b1
or esi, eax
push ebx
call fcn.005d479c
pop ecx
mov word [ebp - 0x174], 0
mov dword [ebp - 0x170], 1
xor edx, edx
mov dword [ebp - 0x16c], edx
xor ecx, ecx
mov dword [ebp - 0x168], ecx
lea eax, [ebx + 0xa8]
mov dx, word [eax]
cmp dx, word [ebp - 0x174]
jne 0x5c88f8
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x170]
je 0x5c88fc
xor eax, eax
jmp 0x5c8901
mov eax, 1
test eax, eax
jne 0x5c896a
cmp word [ebx + 0xa8], 0x3a
je 0x5c896a
cmp word [ebx + 0xa8], 0x29
je 0x5c896a
mov word [ebp - 0x184], 0x28
mov dword [ebp - 0x180], 1
xor edx, edx
mov dword [ebp - 0x17c], edx
xor ecx, ecx
mov dword [ebp - 0x178], ecx
lea eax, [ebx + 0xa8]
mov dx, word [eax]
cmp dx, word [ebp - 0x184]
jne 0x5c8959
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x180]
je 0x5c895d
xor eax, eax
jmp 0x5c8962
mov eax, 1
test eax, eax
je 0x5c8844
cmp word [ebx + 0xa8], 0x3a
je 0x5c89d3
mov word [ebp - 0x194], 0x28
mov dword [ebp - 0x190], 1
xor edx, edx
mov dword [ebp - 0x18c], edx
xor ecx, ecx
mov dword [ebp - 0x188], ecx
lea eax, [ebx + 0xa8]
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp - 0xc8]
mov cx, word [edx]
cmp cx, word [ebp - 0x194]
jne 0x5c89c6
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax + 4]
cmp edx, dword [ebp - 0x190]
je 0x5c89ca
xor ecx, ecx
jmp 0x5c89cf
mov ecx, 1
test ecx, ecx
je 0x5c89f2
cmp word [ebx + 0xa8], 0x3a
jne 0x5c89e4
push ebx
call fcn.005d479c
pop ecx
push esi
push ebx
call fcn.005d6848
add esp, 8
mov esi, eax
jmp 0x5c8a01
mov dword [edi], esi
push 0
push ebx
call fcn.005d6ad8
add esp, 8
mov esi, eax
push ebx
call fcn.005d479c
pop ecx
mov eax, esi
jmp 0x5c8b6e
push 0x1c
call fcn.005c6870
pop ecx
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x5c8a3e
mov edx, dword [edi]
and edx, 0x10
push edx
push dword [ebp - 0xcc]
call fcn.005c6dac
add esp, 8
mov esi, eax
jmp 0x5c8a44
mov esi, dword [ebp - 0xcc]
push esi
lea eax, [ebx + 0x14]
push eax
call fcn.005c789c
add esp, 8
inc dword [ebx + 8]
mov edx, dword [ebx + 8]
mov dword [ebp - 0xd0], edx
push 0x20
call fcn.005c6870
pop ecx
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x5c8a94
test byte [edi], 0x10
je 0x5c8a7b
mov edx, 1
jmp 0x5c8a7d
xor edx, edx
push edx
push dword [ebp - 0xd0]
push dword [ebp - 0xd8]
call fcn.005c8c94
add esp, 0xc
jmp 0x5c8a9a
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
push dword [ebp - 0xd4]
lea ecx, [ebx + 0x14]
push ecx
call fcn.005c789c
add esp, 8
mov eax, dword [ebp - 0xd4]
push eax
lea edx, [esi + 4]
push edx
call fcn.005c789c
add esp, 8
push dword [edi]
push ebx
call fcn.005d6848
add esp, 8
push eax
lea ecx, [esi + 4]
push ecx
call fcn.005c789c
add esp, 8
push 0x20
call fcn.005c6870
pop ecx
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x5c8b14
test byte [edi], 0x10
je 0x5c8af8
xor edx, edx
jmp 0x5c8afd
mov edx, 1
push edx
push dword [ebp - 0xd0]
push dword [ebp - 0xe0]
call fcn.005c8c94
add esp, 0xc
jmp 0x5c8b1a
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
push dword [ebp - 0xdc]
lea ecx, [ebx + 0x14]
push ecx
call fcn.005c789c
add esp, 8
mov eax, dword [ebp - 0xdc]
push eax
lea edx, [esi + 4]
push edx
call fcn.005c789c
add esp, 8
push 0
push dword [ebp - 0xd0]
lea ecx, [ebx + 0x28]
push ecx
call fcn.005c7a8c
add esp, 0xc
mov eax, dword [ebx + 0x34]
mov edx, dword [ebp - 0xd0]
mov dword [eax + edx*4], esi
push ebx
call fcn.005d479c
pop ecx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret