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

Disassembly:
sub esp, 0x64
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x88]
cmp ecx, 1
push ebx
mov ebx, dword [esp + 0x84]
push ebp
mov ebp, dword [esp + 0x80]
push esi
mov esi, dword [esp + 0x80]
push edi
mov edi, edx
mov edx, dword [eax*4 + 0x4e5f04]
mov dword [esp + 0x88], edx
jbe 0x197f87
cmp dword [esp + 0x9c], 0
je 0x197f87
mov eax, dword [0x4e73e0]
mov ecx, dword [eax + 0x2520]
mov edx, dword [ecx]
call dword [edx + 0x114]
mov ebx, dword [0x4e73e0]
test byte [ebx + 0x23b5], 8
je 0x1978ce
mov eax, dword [esp + 0x88]
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov edx, dword [ecx*4 + 0x401308]
mov dword [esp + 0x84], edx
mov eax, dword [esp + 0x88]
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov edx, dword [ecx*4 + 0x4012e8]
mov eax, dword [esp + 0x98]
mov ecx, 0xa
cmp eax, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x88], ecx
ja 0x19783a
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x9c]
cmp eax, ecx
mov dword [esp + 0x10], ecx
ja 0x19784d
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
sub esi, eax
imul esi, dword [esp + 0xa8]
add esi, dword [esp + 0x7c]
sub ebp, edi
imul ebp, dword [esp + 0x80]
add esi, ebp
mov dword [esp + 0x7c], esi
add eax, ecx
lea ebp, [edi + edx]
mov esi, edi
and esi, 0xfffffc00
cmp edi, ebp
mov dword [esp + 0xa0], eax
mov dword [esp + 0x4c], ebp
mov eax, edi
mov dword [esp + 0x20], esi
jae 0x197f3a
mov ecx, dword [esp + 0x9c]
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x94]
and ecx, 0xfffffc00
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edx
jmp 0x197954
test byte [ebx + 0x23b5], 4
je 0x1978f8
mov eax, dword [esp + 0x88]
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov edx, dword [ecx*4 + str._b_b]
mov dword [esp + 0x84], edx
jmp 0x19780a
test byte [ebx + 0x23b5], 1
je 0x197922
mov eax, dword [esp + 0x88]
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov edx, dword [ecx*4 + 0x401300]
mov dword [esp + 0x84], edx
jmp 0x19780a
test byte [ebx + 0x23b5], 2
je 0x197803
mov eax, dword [esp + 0x88]
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov edx, dword [ecx*4 + 0x4012f8]
mov dword [esp + 0x84], edx
jmp 0x19780a
mov edx, dword [esp + 0x24]
lea edi, [esi + 0x400]
cmp edi, edx
mov dword [esp + 0x1c], edi
jbe 0x197968
mov edi, edx
mov dword [esp + 0x1c], edi
cmp edi, ebp
mov ecx, ebp
ja 0x197970
mov ecx, edi
mov esi, dword [esp + 0x94]
mov edx, dword [esp + 0x28]
sub ecx, eax
cmp esi, dword [esp + 0xa0]
mov dword [esp + 0xa4], esi
jae 0x197f2a
mov edi, dword [esp + 0x88]
mov ebp, dword [esp + 0x10]
and edi, 0xff
shl ebp, 8
or edi, ebp
mov ebp, dword [esp + 0x2c]
shl edi, 0x10
and ebp, 0xffff
or edi, ebp
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x34], edi
mov edi, eax
and edi, 0x3ff
shl edi, 0x10
shl ecx, 0x10
mov dword [esp + 0x38], edi
mov edi, eax
mov eax, dword [esp + 0x80]
imul edi, eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xa8]
and eax, 0xffff
imul esi, ecx
or eax, 0x20000
mov dword [esp + 0x40], eax
mov eax, edx
imul eax, ecx
shl ecx, 0xa
mov dword [esp + 0x3c], edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x30], ecx
jmp 0x197a15
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0xa0]
lea esi, [edx + 0x400]
add ecx, eax
cmp esi, edi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], ecx
jbe 0x197a3d
mov eax, edi
sub eax, ebp
mov dword [esp + 0xa4], eax
jmp 0x197a46
sub esi, ebp
mov dword [esp + 0xa4], esi
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x9c]
push eax
mov eax, dword [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x9c]
lea edi, [esp + 0x5c]
call fcn.00195250
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
lea esi, [ebx + 8]
mov ebx, 0xd3d05201
mov eax, 7
lea edi, [edx + ecx]
call fcn.000b6530
mov edx, dword [0x4e73e0]
mov ecx, dword [edx + 0x94]
mov esi, dword [esp + 0x34]
lea eax, [edx + 8]
mov dword [ecx], 0x4e300
mov ecx, dword [eax + 0x8c]
mov dword [ecx + 4], esi
mov ebx, 8
add dword [eax + 0x8c], ebx
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [eax + 0xa4]
jb 0x197ad5
call fcn.000b5d70
mov edx, dword [0x4e73e0]
mov esi, dword [esp + 0x8c]
test esi, esi
lea eax, [edx + 8]
jne 0x197ae7
xor ecx, ecx
jmp 0x197b33
cmp dword [edx + 0x2460], 0
je 0x197b18
mov ecx, dword [esp + 0x8c]
mov esi, dword [ecx + 4]
mov ecx, esi
shr ecx, 2
or ecx, esi
test bl, cl
je 0x197b0c
mov ecx, 0xd3d00202
jmp 0x197b33
mov ecx, dword [esp + 0x8c]
mov ecx, dword [ecx + 0x60]
jmp 0x197b33
mov ecx, dword [esi + 4]
test bl, cl
je 0x197b26
mov ecx, 0xdd001010
jmp 0x197b33
test cl, 0x20
mov ecx, 0xd3d00202
jne 0x197b33
mov ecx, dword [esi + 0x60]
mov esi, dword [eax + 0x8c]
mov dword [esi], 0x4e184
mov esi, dword [eax + 0x8c]
mov dword [esi + 4], ecx
add dword [eax + 0x8c], ebx
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [eax + 0xa4]
jb 0x197b67
call fcn.000b5d70
mov edx, dword [0x4e73e0]
mov esi, dword [edx + 0x94]
mov ecx, dword [esp + 0x8c]
mov ecx, dword [ecx + 0x30]
lea eax, [edx + 8]
mov dword [esi], 0x4e304
mov esi, dword [eax + 0x8c]
add ecx, edi
mov dword [esi + 4], ecx
add dword [eax + 0x8c], ebx
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [eax + 0xa4]
jb 0x197baa
call fcn.000b5d70
mov edx, dword [0x4e73e0]
lea esi, [edx + 8]
mov ebx, 0xd3d07701
mov eax, 7
call fcn.000b6530
mov ebx, dword [0x4e73e0]
mov edx, dword [ebx + 0x94]
lea eax, [ebx + 8]
mov dword [edx], 0x4e300
mov ecx, dword [eax + 0x8c]
mov edx, dword [esp + 0x84]
mov dword [ecx + 4], edx
mov esi, 8
add dword [eax + 0x8c], esi
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [eax + 0xa4]
jb 0x197c05
call fcn.000b5d70
mov ebx, dword [0x4e73e0]
mov ecx, dword [ebx + 0x94]
lea eax, [ebx + 8]
mov dword [ecx], 0x4e304
mov edx, dword [eax + 0x8c]
mov dword [edx + 4], 3
add dword [eax + 0x8c], esi
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [eax + 0xa4]
jb 0x197c40
call fcn.000b5d70
mov ebx, dword [0x4e73e0]
mov edi, dword [esp + 0x78]
test edi, edi
lea eax, [ebx + 8]
jne 0x197c4f
xor ecx, ecx
jmp 0x197c88
cmp dword [ebx + 0x2460], 0
je 0x197c6c
mov esi, dword [edi + 4]
mov ecx, esi
shr ecx, 2
or ecx, esi
mov esi, 8
test cl, 8
jmp 0x197c7e
mov ecx, dword [edi + 4]
test cl, 8
je 0x197c7b
mov ecx, 0xdd001010
jmp 0x197c88
test cl, 0x20
mov ecx, 0xd3d00202
jne 0x197c88
mov ecx, dword [edi + 0x60]
mov edx, dword [eax + 0x8c]
mov dword [edx], 0x4e184
mov edx, dword [eax + 0x8c]
mov dword [edx + 4], ecx
add dword [eax + 0x8c], esi
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [eax + 0xa4]
jb 0x197cbc
call fcn.000b5d70
mov ebx, dword [0x4e73e0]
mov ecx, dword [ebx + 0x94]
lea eax, [ebx + 8]
mov dword [ecx], 0x4e198
mov edx, dword [eax + 0x8c]
mov dword [edx + 4], 0xd3d05201
add dword [eax + 0x8c], esi
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [eax + 0xa4]
jb 0x197cf7
call fcn.000b5d70
mov ebx, dword [0x4e73e0]
mov edx, dword [ebx + 0x94]
mov esi, dword [esp + 0xa4]
and ebp, 0x3ff
lea eax, [ebx + 8]
mov ecx, ebp
and ecx, 0xffff
mov dword [edx], 0x8e308
mov edi, ecx
mov ecx, dword [eax + 0x8c]
or edi, dword [esp + 0x38]
and esi, 0xffff
or esi, dword [esp + 0x14]
mov dword [ecx + 4], edi
mov edx, dword [eax + 0x8c]
mov dword [edx + 8], esi
add dword [eax + 0x8c], 0xc
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [eax + 0xa4]
jb 0x197d5d
call fcn.000b5d70
mov ebx, dword [0x4e73e0]
mov ecx, dword [ebx + 0x94]
lea eax, [ebx + 8]
mov dword [ecx], 0x8e310
mov edx, dword [eax + 0x8c]
mov dword [edx + 4], edi
mov ecx, dword [eax + 0x8c]
mov dword [ecx + 8], esi
add dword [eax + 0x8c], 0xc
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [eax + 0xa4]
jb 0x197d9e
call fcn.000b5d70
mov ebx, dword [0x4e73e0]
mov edx, dword [ebx + 0x94]
lea eax, [ebx + 8]
mov dword [edx], 0x8e318
mov edx, dword [eax + 0x8c]
mov ecx, 0x100000
mov dword [edx + 4], ecx
mov edx, dword [eax + 0x8c]
mov dword [edx + 8], ecx
add dword [eax + 0x8c], 0xc
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [eax + 0xa4]
jb 0x197de4
call fcn.000b5d70
mov ebx, dword [0x4e73e0]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xa4]
add esi, dword [esp + 0x7c]
cmp ecx, 0x10
jae 0x197e06
mov ecx, 0x10
jmp 0x197e0c
add ecx, 1
and ecx, 0xfffffffe
mov edx, dword [ebx + 0x94]
lea eax, [ebx + 8]
mov dword [edx], 0x4e400
mov edx, dword [eax + 0x8c]
and ecx, 0xffff
or ecx, dword [esp + 0x14]
mov dword [edx + 4], ecx
add dword [eax + 0x8c], 8
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [eax + 0xa4]
jb 0x197e4e
call fcn.000b5d70
mov ebx, dword [0x4e73e0]
mov ecx, dword [ebx + 0x94]
lea eax, [ebx + 8]
mov dword [ecx], 0x4e404
mov edx, dword [eax + 0x8c]
mov ecx, dword [esp + 0x40]
mov dword [edx + 4], ecx
add dword [eax + 0x8c], 8
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [eax + 0xa4]
jb 0x197e8a
call fcn.000b5d70
mov ebx, dword [0x4e73e0]
mov edx, dword [esp + 0x78]
mov ecx, dword [edx + 0x30]
mov edx, dword [ebx + 0x94]
lea eax, [ebx + 8]
mov dword [edx], 0x4e408
mov edx, dword [eax + 0x8c]
add ecx, esi
mov dword [edx + 4], ecx
add dword [eax + 0x8c], 8
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [eax + 0xa4]
jb 0x197ecb
call fcn.000b5d70
mov ebx, dword [0x4e73e0]
mov ecx, dword [ebx + 0x94]
lea eax, [ebx + 8]
mov dword [ecx], 0x4e40c
mov edx, dword [eax + 0x8c]
mov dword [edx + 4], 0
add dword [eax + 0x8c], 8
mov ecx, dword [eax + 0x8c]
cmp ecx, dword [eax + 0xa4]
jb 0x197f07
call fcn.000b5d70
mov ebx, dword [0x4e73e0]
mov edx, dword [esp + 0x44]
cmp edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x48]
mov ebp, edx
mov dword [esp + 0x18], eax
jb 0x197a11
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x4c]
cmp edi, ebp
mov esi, edi
mov dword [esp + 0x20], esi
mov eax, edi
jb 0x197950
test byte [ebx + 0xc0], 8
lea eax, [ebx + 8]
jne 0x197f6f
mov edx, dword [eax + 0x90]
mov ecx, dword [eax + 0x8c]
cmp edx, ecx
je 0x197f6f
sub ecx, edx
cmp ecx, 0x400
sbb ecx, ecx
add ecx, 1
push ecx
call fcn.000b5bd0
mov ebx, dword [0x4e73e0]
mov ecx, dword [ebx + 0x2520]
mov edx, dword [ecx]
call dword [edx + 0x118]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0x34
mov edx, dword [esp + 0x80]
imul esi, eax
add esi, dword [esp + 0x7c]
imul edx, ebp
lea ebp, [esi + edx]
mov edx, dword [esp + 0x94]
add edx, edi
imul edx, eax
mov edi, eax
shl edi, cl
mov ecx, dword [esp + 0xa4]
add ebx, edx
test ecx, ecx
mov esi, ecx
mov dword [esp + 0xa8], esi
je 0x198044
mov ecx, dword [esp + 0xa0]
imul ecx, eax
mov dword [esp + 0x9c], ecx
jmp 0x197fe0
mov esi, dword [esp + 0xa8]
nop
cmp esi, 0x7ff
jbe 0x197fed
mov esi, 0x7ff
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x8c]
push 0
push esi
push eax
mov eax, dword [esp + 0x84]
push edi
push ecx
push ebx
push edx
push eax
mov eax, dword [0x4e73e0]
push 0xd3d03902
push 7
add eax, 8
mov edx, ebp
call fcn.000cbda0
mov ecx, esi
imul ecx, dword [esp + 0x80]
mov edx, esi
imul edx, edi
add ebp, ecx
add ebx, edx
sub dword [esp + 0xa8], esi
jne 0x197fd8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0x34