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

Disassembly:
sub esp, 0x10
mov eax, dword [0x68b740]
xor eax, esp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x14]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x24]
xor ebx, ebx
add eax, 0xfffffc17
cmp eax, 0x1f
push edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x10], ebx
ja case.default.0x562087
jmp dword [eax*4 + 0x562688]
cmp edi, ebx
jne 0x561bca
mov eax, dword [0x8e48f4]
mov eax, dword [eax + 0x8c44]
jmp 0x561bd5
push edi
mov ecx, 0x12c5598
call fcn.00580850
cmp eax, ebx
je 0x561bfa
mov edx, dword [0x12c5540]
imul eax, eax, 0x113b8
xor ecx, ecx
cmp dword [eax + edx + 0x1334], ebx
sete cl
mov dword [esp + 0x10], ecx
jmp case.default.0x562087
mov dword [esp + 0x10], 1
jmp case.default.0x562087
cmp edi, ebx
jne 0x561c18
mov eax, dword [0x8e48f4]
mov eax, dword [eax + 0x8c44]
jmp 0x561c23
push edi
mov ecx, 0x12c5598
call fcn.00580850
cmp eax, ebx
jle 0x561c43
mov ecx, dword [0x12c5540]
imul eax, eax, 0x113b8
mov edx, dword [eax + ecx + 0x1564]
mov dword [esp + 0x10], edx
jmp case.default.0x562087
mov dword [esp + 0x10], ebx
jmp case.default.0x562087
cmp esi, ebx
je case.default.0x562087
cmp edi, ebx
jne 0x561ca8
mov eax, dword [0x8e48f4]
mov edi, dword [eax + 0x8c44]
mov eax, dword [eax + 0xe9e8]
mov dword [esi + 0x60], eax
mov ecx, dword [0x8e48f4]
mov edx, dword [ecx + 0xe9f0]
mov dword [esi + 0x64], edx
mov ecx, dword [0x8e48f4]
add ecx, 0xecc4
call fcn.005b8960
mov dword [esi + 0x6c], eax
mov ecx, dword [0x8e48f4]
add ecx, 0xecc4
call fcn.005b9450
mov dword [esi + 0xb4], eax
jmp 0x561cc7
push edi
mov ecx, 0x12c5598
call fcn.00580850
mov edi, eax
or eax, 0xffffffff
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], eax
mov dword [esi + 0x6c], ebx
mov dword [esi + 0xb4], ebx
cmp edi, ebx
jle case.default.0x562087
mov eax, dword [0x12c5540]
imul edi, edi, 0x113b8
lea ecx, [edi + eax + 0x130d]
lea edx, [esi + 0x20]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x561ce4
lea ebp, [esi + 0x40]
mov byte [esi], bl
mov byte [ebp], bl
mov eax, dword [0x12c5540]
cmp byte [edi + eax + 0x30], bl
je 0x561d38
movzx edx, byte [edi + eax + 0x30]
push 0xa
lea ecx, [esp + 0x18]
push ecx
push edx
call dword [sym.imp.MSVCR80.dll__itoa]
add esp, 0xc
push 0x20
push ebp
push 0x63abb8
push 0x64e8f4
lea eax, [esp + 0x24]
push eax
mov ecx, 0x6e1e04
call dword [sym.imp.engine.dll_public_virtual:_int___thiscall_KTabFile::GetString_char_const___char_const___char_const___char___unsigned_long_int_]
mov ecx, dword [0x8e48f4]
mov edx, dword [ecx + 0x11068]
mov dword [esi + 0x68], edx
mov ecx, dword [0x8e48f4]
push 0x64
add ecx, 0x110b4
call fcn.005f10a0
mov dword [esi + 0xb8], eax
mov eax, dword [0x12c5540]
mov ecx, dword [edi + eax + 0x1560]
mov dword [esi + 0xb0], ecx
mov edx, dword [0x12c5540]
lea ecx, [edi + edx + 0x1784]
lea edx, [esi + 0x70]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x561d82
mov ecx, dword [0x8e48f4]
push 0xb41
add ecx, 0x110b4
call fcn.005f10a0
mov dword [esi + 0xbc], eax
jmp case.default.0x562087
cmp esi, ebx
je case.default.0x562087
mov ebp, dword [0x8e48f4]
mov edi, dword [ebp + 0x8c44]
add ebp, 0x8b30
imul edi, edi, 0x113b8
add edi, dword [0x12c5540]
push 0x64
mov eax, dword [edi + 0x1048]
mov dword [esi], eax
mov ecx, dword [edi + 0x1058]
mov dword [esi + 0x14], ecx
mov edx, dword [edi + 0x1064]
mov dword [esi + 0x18], edx
mov eax, dword [edi + 0x1060]
mov dword [esi + 0x1c], eax
mov ecx, dword [edi + 0x11304]
mov dword [esi + 8], ecx
mov edx, dword [edi + 0x11300]
mov dword [esi + 4], edx
mov eax, dword [edi + 0x1130c]
mov dword [esi + 0x10], eax
mov ecx, dword [edi + 0x11308]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov edx, dword [ebp + 0x58e0]
mov dword [esi + 0x28], edx
mov eax, dword [ebp + 0x58e4]
mov dword [esi + 0x2c], eax
mov ecx, dword [ebp + 0x58d8]
mov dword [esi + 0x30], ecx
mov edx, dword [ebp + 0x58dc]
mov dword [esi + 0x34], edx
mov eax, dword [ebp + 0x58e0]
mov dword [esi + 0x38], eax
mov ecx, dword [ebp + 0x58e4]
mov dword [esi + 0x3c], ecx
lea ecx, [ebp + 0x8584]
call fcn.005f10a0
mov ecx, ebp
mov dword [esi + 0x48], eax
call fcn.00561b60
mov dword [esi + 0x4c], eax
mov byte [esi + 0x40], bl
mov byte [esi + 0x41], bl
cmp dword [ebp + 0x194], ebx
jg 0x561e86
mov byte [esi + 0x40], 4
mov dl, byte [edi + 0x16b8]
mov byte [esi + 0x42], dl
cmp dword [ebp + 0xc4], ebx
je 0x561e9b
mov byte [esi + 0x41], 1
cmp dword [edi + 0xec], 8
jne 0x561ea8
or byte [esi + 0x41], 2
cmp dword [edi + 0x1778], ebx
je 0x561eb4
or byte [esi + 0x41], 4
mov al, byte [ebp + 0x6190]
mov byte [esi + 0x43], al
mov ecx, dword [edi + 0xe8]
mov dword [esi + 0x44], ecx
movzx edx, byte [ebp + 0x8ae4]
mov dword [esi + 0x50], edx
jmp case.default.0x562087
cmp esi, ebx
je case.default.0x562087
mov ebp, dword [0x8e48f4]
mov edi, dword [ebp + 0x8c44]
mov eax, dword [ebp + 0xd8c0]
imul edi, edi, 0x113b8
add edi, dword [0x12c5540]
add ebp, 0x8b30
mov dword [esi], eax
mov ecx, dword [ebp + 0x58a0]
mov dword [esi + 0x18], ecx
mov edx, dword [ebp + 0x58c0]
mov dword [esi + 0x1c], edx
mov eax, dword [ebp + 0x58c4]
mov dword [esi + 0x20], eax
mov ecx, dword [ebp + 0x58c8]
mov dword [esi + 0x24], ecx
mov edx, dword [ebp + 0x58cc]
push ebx
lea eax, [esi + 0x3c]
push eax
lea ecx, [esi + 0x2c]
mov dword [esi + 0x28], edx
push ecx
lea edx, [esi + 0x30]
push edx
mov ecx, ebp
call fcn.0056ec50
push 1
lea eax, [esi + 0x40]
push eax
lea ecx, [esi + 0x34]
push ecx
lea edx, [esi + 0x38]
push edx
mov ecx, ebp
call fcn.0056ec50
mov eax, dword [edi + 0x1114]
mov dword [esi + 0x44], eax
mov ecx, dword [edi + 0x113c]
mov dword [esi + 0x48], ecx
mov ecx, edi
call fcn.00561b20
mov ecx, edi
mov dword [esi + 0x4c], eax
call fcn.00561b40
mov ecx, edi
mov dword [esi + 0x50], eax
call fcn.00561b00
mov edx, dword [0x8e48f4]
mov ecx, dword [edi + 0x112c]
add eax, dword [edx + 0xe9e4]
push ecx
push eax
mov ecx, edi
call fcn.00575910
mov dword [esi + 0x54], eax
mov edx, dword [edi + 0x112c]
mov ecx, edi
mov dword [esi + 0x68], edx
call fcn.00561aa0
mov ecx, dword [0x8e48f4]
add eax, dword [ecx + 0xe9d8]
mov edx, dword [edi + 0x1120]
push edx
push eax
mov ecx, edi
call fcn.00575910
mov dword [esi + 0x58], eax
mov eax, dword [edi + 0x1120]
mov ecx, edi
mov dword [esi + 0x6c], eax
call fcn.00561ae0
mov ecx, dword [0x8e48f4]
add eax, dword [ecx + 0xe9e0]
mov edx, dword [edi + 0x1128]
push edx
push eax
mov ecx, edi
call fcn.00575910
mov dword [esi + 0x5c], eax
mov eax, dword [edi + 0x1128]
mov dword [esi + 0x70], eax
mov ecx, edi
call fcn.00561a80
mov ecx, dword [0x8e48f4]
add eax, dword [ecx + 0xe9d4]
mov edx, dword [edi + 0x111c]
push edx
push eax
mov ecx, edi
call fcn.00575910
mov dword [esi + 0x60], eax
mov eax, dword [edi + 0x111c]
mov ecx, edi
mov dword [esi + 0x74], eax
call fcn.00561ac0
mov ecx, dword [0x8e48f4]
add eax, dword [ecx + 0xe9dc]
mov edx, dword [edi + 0x1124]
push edx
push eax
mov ecx, edi
call fcn.00575910
mov dword [esi + 0x64], eax
mov eax, dword [edi + 0x1124]
mov dword [esi + 0x78], eax
mov ecx, dword [edi + 0x20]
mov dword [esi + 4], ecx
xor ecx, ecx
lea eax, [esi + 8]
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov edi, dword [edi + 0x28]
cmp edi, 4
ja case.default.0x562087
jmp dword [edi*4 + 0x562708]
mov edx, dword [0x6dfe30]
mov cl, byte [edx]
mov byte [eax], cl
add edx, 1
add eax, 1
test cl, cl
jne 0x562094
jmp case.default.0x562087
mov edx, dword [0x6dfe2c]
lea ecx, [ecx]
mov cl, byte [edx]
mov byte [eax], cl
add edx, 1
add eax, 1
test cl, cl
jne 0x5620b0
jmp case.default.0x562087
mov edx, dword [0x6dfe28]
lea esp, [esp]
mov cl, byte [edx]
mov byte [eax], cl
add edx, 1
add eax, 1
test cl, cl
jne 0x5620d0
jmp case.default.0x562087
mov edx, dword [0x6dfe34]
lea esp, [esp]
mov cl, byte [edx]
mov byte [eax], cl
add edx, 1
add eax, 1
test cl, cl
jne 0x5620f0
jmp case.default.0x562087
mov edx, dword [0x6dfe38]
lea esp, [esp]
mov cl, byte [edx]
mov byte [eax], cl
add edx, 1
add eax, 1
test cl, cl
jne 0x562110
jmp case.default.0x562087
cmp esi, ebx
je case.default.0x562087
push 0x58
push ebx
push esi
call sub.MSVCR80.dll_memset
mov eax, 0x40004
mov dword [esi + 0x48], eax
mov edx, dword [0x8e48f4]
mov ecx, dword [edx + 0x8b54]
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x50], eax
mov edx, dword [0x8e48f4]
mov eax, dword [edx + 0x8b5c]
add esp, 0xc
xor edi, edi
mov dword [esi + 0x54], eax
lea ebp, [edi + 5]
mov ecx, dword [0x8e48f4]
push ebx
push edi
add ecx, 0xd948
call fcn.005e7250
cmp eax, ebx
jle 0x56219e
test eax, 0x4000000
je 0x562195
and eax, 0xfbffffff
mov dword [esi + edi*8 + 4], eax
mov dword [esi + edi*8], 4
jmp 0x5621a5
mov dword [esi + edi*8 + 4], eax
mov dword [esi + edi*8], ebp
jmp 0x5621a5
mov dword [esi + edi*8 + 4], ebx
mov dword [esi + edi*8], ebx
add edi, 1
cmp edi, 9
jl 0x562165
jmp case.default.0x562087
lea ecx, [esp + 0x10]
push ecx
push esi
mov dword [esp + 0x18], ebx
call fcn.00593b80
add esp, 8
test eax, eax
je 0x5621e7
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
je 0x5621e7
mov eax, dword [0x8e48f4]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
add eax, 0x8b30
push eax
call edx
jmp 0x56266c
mov dword [esp + 0x10], 0x3b9aca00
jmp case.default.0x562087
cmp esi, ebx
mov dword [esp + 0x10], ebx
je case.default.0x562087
cmp edi, 1
je case.default.0x562087
lea eax, [esi + 4]
xor esi, esi
mov edx, 0x680a94
lea ebp, [esi + 5]
jmp 0x562220
mov ecx, dword [0x8e48f4]
mov ecx, dword [esi + ecx + 0x8c74]
cmp ecx, ebx
mov dword [eax], ecx
je 0x562260
imul ecx, ecx, 0x57c
mov dword [eax - 4], ebp
mov edi, dword [0x1341190]
mov edi, dword [ecx + edi + 0x1c]
mov dword [eax + 0xc], edi
mov edi, dword [0x1341190]
mov ecx, dword [ecx + edi + 0x20]
mov dword [eax + 0x10], ecx
mov dword [eax + 4], ebx
mov ecx, dword [edx]
mov dword [eax + 8], ecx
jmp 0x562263
mov dword [eax - 4], ebx
add edx, 4
add eax, 0x18
add esi, 8
cmp edx, 0x680ad0
jl 0x562220
mov dword [esp + 0x10], 0xf
jmp case.default.0x562087
cmp esi, ebx
mov dword [esp + 0x10], ebx
je case.default.0x562087
cmp edi, 1
je case.default.0x562087
lea eax, [esi + 4]
mov esi, 0x680a94
mov edx, 0x1341f38
mov ebp, 5
mov ecx, dword [edx]
cmp ecx, ebx
mov dword [eax], ecx
je 0x5622dd
imul ecx, ecx, 0x57c
mov dword [eax - 4], ebp
mov edi, dword [0x1341190]
mov edi, dword [ecx + edi + 0x1c]
mov dword [eax + 0xc], edi
mov edi, dword [0x1341190]
mov ecx, dword [ecx + edi + 0x20]
mov dword [eax + 0x10], ecx
mov dword [eax + 4], ebx
mov ecx, dword [esi]
mov dword [eax + 8], ecx
jmp 0x5622e0
mov dword [eax - 4], ebx
add edx, 0x14
add eax, 0x18
add esi, 4
cmp edx, 0x1342064
jl 0x5622a8
mov dword [esp + 0x10], 0xf
jmp case.default.0x562087
cmp esi, ebx
je case.default.0x562087
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
jmp case.default.0x562087
cmp esi, ebx
je case.default.0x562087
push 0xa0
push ebx
push esi
call sub.MSVCR80.dll_memset
add esp, 0xc
jmp case.default.0x562087
mov edx, dword [0x8e48f4]
mov eax, dword [edx + 0xe3d4]
jmp 0x56266c
cmp esi, ebx
je case.default.0x562087
mov ecx, dword [0x8e48f4]
mov edx, dword [ecx + 0x8c44]
mov eax, dword [0x12c5540]
imul edx, edx, 0x113b8
push esi
lea ecx, [edx + eax + 0x110]
call fcn.00582290
jmp case.default.0x562087
mov ecx, dword [0x8e48f4]
mov edx, dword [ecx + 0x8c44]
mov eax, dword [0x12c5540]
imul edx, edx, 0x113b8
push esi
lea ecx, [edx + eax + 0x110]
call fcn.005823e0
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.00612c78
add esp, 0x10
ret
mov ecx, dword [0x8e48f4]
mov edx, dword [ecx + 0x8c44]
mov eax, dword [0x12c5540]
imul edx, edx, 0x113b8
push esi
lea ecx, [edx + eax + 0x110]
call fcn.00582560
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.00612c78
add esp, 0x10
ret
cmp esi, ebx
je case.default.0x562087
push 0x50
push ebx
push esi
call sub.MSVCR80.dll_memset
add esp, 0xc
jmp case.default.0x562087
push edi
push esi
mov ecx, 0x12c5598
call fcn.0057f7d0
jmp 0x56266c
push edi
push esi
mov ecx, 0x12c5598
call fcn.0057f600
jmp 0x56266c
cmp esi, ebx
je case.default.0x562087
mov ecx, dword [0x8e48f4]
mov edx, dword [ecx + 0xe418]
mov dword [esi + 4], edx
mov eax, dword [0x8e48f4]
mov ecx, dword [eax + 0x8bf8]
mov dword [esi + 8], ecx
mov edx, dword [0x8e48f4]
mov eax, dword [edx + 0xe41c]
mov dword [esi], eax
jmp case.default.0x562087
cmp esi, 9
jae case.default.0x562087
mov ecx, dword [0x8e48f4]
push esi
add ecx, 0x8c4c
call fcn.0054dbc0
jmp 0x56266c
mov ecx, dword [0x8e48f4]
add ecx, 0xec68
call fcn.005ac380
jmp 0x56266c
cmp esi, 1
mov ecx, 0x12c5598
jne 0x56249e
call fcn.0057f940
jmp 0x56266c
cmp esi, 2
jne 0x5624ad
call fcn.0057f980
jmp 0x56266c
push 1
call fcn.0057fa00
jmp 0x56266c
cmp esi, 1
mov ecx, 0x12c5598
jne 0x5624cd
call fcn.0057f960
jmp 0x56266c
cmp esi, 2
jne 0x5624dc
call fcn.0057f9a0
jmp 0x56266c
push 1
call fcn.0057fa60
jmp 0x56266c
push 1
mov ecx, 0x12c5598
call fcn.0057fac0
jmp 0x56266c
xor ebx, ebx
mov dword [esp + 0x10], ebx
lea ebp, [esi + 0x3fc]
cmp ebx, 0xb
je 0x56256c
mov ecx, dword [0x8e48f4]
mov eax, dword [ecx + ebx*8 + 0x8c74]
test eax, eax
jle 0x56256c
mov edx, dword [0x1341190]
imul eax, eax, 0x57c
mov ecx, dword [eax + edx + 0x3c0]
cmp ecx, edi
jge 0x56255e
cmp ecx, 0xffffffff
je 0x56255e
mov dword [esi], ecx
mov ecx, dword [0x1341190]
lea ecx, [eax + ecx + 0x30]
lea edx, [esi + 4]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x562546
add dword [esp + 0x10], 1
add esi, 0x44
jmp 0x56256c
sub ebp, 0x44
mov dword [ebp], 0xffffffff
mov byte [ebp + 4], 0
add ebx, 1
cmp ebx, 0xf
jl 0x562505
mov edx, dword [esp + 0x10]
mov dword [esp + 0x10], edx
jmp case.default.0x562087
lea eax, [esi - 1]
cmp eax, 0xfe
ja case.default.0x562087
cmp edi, ebx
je case.default.0x562087
imul esi, esi, 0x113b8
add esi, dword [0x12c5540]
push 0x58
push ebx
push edi
call sub.MSVCR80.dll_memset
mov ecx, dword [esi + 0x1048]
mov dword [edi], ecx
mov edx, dword [esi + 0x1058]
mov dword [edi + 0x14], edx
mov eax, dword [esi + 0x1060]
mov dword [edi + 0x1c], eax
mov ecx, dword [esi + 0x1064]
mov dword [edi + 0x18], ecx
mov edx, dword [esi + 0xe8]
mov dword [edi + 0x44], edx
mov eax, dword [esi + 0x11304]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0x11300]
mov dword [edi + 4], ecx
mov edx, dword [esi + 0x1130c]
mov dword [edi + 0x10], edx
mov eax, dword [esi + 0x11308]
add esp, 0xc
mov dword [edi + 0xc], eax
jmp case.default.0x562087
mov ecx, dword [0x8e4d00]
mov edx, dword [ecx + 0x24]
mov dword [esi], edx
jmp case.default.0x562087
mov eax, dword [0x8e48f4]
mov ecx, dword [eax + 0x11074]
mov dword [esi], ecx
mov edx, dword [0x8e48f4]
mov eax, dword [edx + 0x1107c]
mov dword [esi + 8], eax
mov ecx, dword [0x8e48f4]
mov edx, dword [ecx + 0x11078]
mov dword [esi + 4], edx
jmp case.default.0x562087
mov ecx, dword [0x8e48f4]
add ecx, 0x11074
call fcn.005ef4b0
jmp 0x56266c
mov eax, dword [0x8e48f4]
mov ecx, dword [eax + 0x8c44]
mov edx, dword [0x12c5540]
imul ecx, ecx, 0x113b8
lea eax, [ecx + edx + 0x130d]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00612c78
add esp, 0x10
ret