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

Disassembly:
push edi
push esi
push ebp
push ebx
mov ebp, dword [esp + 0x14]
sub esp, 0x24
mov dword [esp + 0x10], 0
mov eax, dword [ebp + 0x37e0]
lea esi, [ebp + 0x37e8]
test eax, eax
mov dl, 0
mov byte [esp + 0x18], dl
je 0x6002e6bc
mov edx, dword [ebp + 0x74]
cmp edx, 1
je 0x6002e6bc
cmp edx, 1
je 0x6002e61e
test eax, eax
je 0x6002dc5c
mov al, 1
mov byte [esp + 0x18], al
mov eax, dword [ebp]
cmp eax, 6
je 0x6002dcaa
cmp eax, 7
je 0x6002dcaa
cmp eax, 0xe
je 0x6002dcaa
cmp eax, 0xf
je 0x6002dcaa
cmp eax, 0x11
je 0x6002dcaa
cmp eax, 0x10
je 0x6002dcaa
cmp eax, 0x13
je 0x6002dcaa
cmp eax, 0x12
je 0x6002dcaa
mov eax, dword [ebp + 8]
test eax, eax
jne 0x6002dcaa
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x6002dcaa
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x6002dcaa
mov eax, dword [ebp + 4]
test eax, eax
jne 0x6002dcaa
mov dword [esi + 0x1c], 0
mov eax, dword [ebp + 0x37dc]
test eax, eax
je 0x6002e607
mov eax, dword [ebp]
cmp eax, 1
je 0x6002dcc4
test eax, eax
jne 0x6002dcf3
lea eax, [esp + 0x10]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.60034fc0
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
mov eax, dword [esp + 0x10]
cmp eax, 0xd8
je 0x6002dd07
mov ebx, 0xfffffff3
jmp 0x6002e3b9
cmp eax, 5
je 0x6002dcc4
cmp eax, 4
je 0x6002dcc4
cmp eax, 0x15
je 0x6002dcc4
cmp eax, 0x14
je 0x6002dcc4
mov eax, dword [ebp + 0x4de0]
test eax, eax
jne 0x6002dd1f
xor eax, eax
mov dword [ebp + 0x37d4], eax
mov dword [ebp + 0x37d8], eax
mov edi, dword [ebp + 0x37e0]
test edi, edi
je 0x6002e600
mov eax, dword [ebp + 0x74]
cmp eax, 1
jne 0x6002dd42
je 0x6002e3c3
mov ebp, esi
jmp case.0x6002e0b2.208
mov dword [esp + 0x1c], esi
test edi, edi
je 0x6002dd60
mov al, byte [esp + 0x18]
test al, al
je 0x6002dd60
xor al, al
mov byte [esp + 0x18], al
jmp 0x6002ded8
mov dword [esp], 0x38
call fcn.60047a2f
mov edi, eax
test edi, edi
je 0x6002e5f6
xor edx, edx
mov ecx, dword [esp + 0x38]
mov dword [edi + 0x30], edx
mov dword [edi + 0x2c], edx
mov dword [edi + 0x28], edx
mov dword [edi + 0x24], edx
mov dword [edi + 0x20], edx
mov dword [edi + 0x1c], edx
mov eax, dword [ecx]
cmp eax, 1
je 0x6002e5ed
test eax, eax
je 0x6002e5ed
cmp eax, 5
je 0x6002e5ed
cmp eax, 4
je 0x6002e5ed
cmp eax, 0x15
je 0x6002e5ed
cmp eax, 0x14
jne 0x6002dddb
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x1c]
mov dword [esp], edi
add eax, 0xfffffffe
mov dword [esi + 0x1c], eax
call fcn.60047a3d
jmp case.0x6002e0b2.256
mov eax, dword [esp + 0x1c]
mov edx, ecx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.6002db60
mov ebx, eax
test ebx, ebx
jne 0x6002e5e0
mov eax, dword [esp + 0x38]
mov edx, dword [edi]
mov ecx, dword [eax + 0x37d0]
mov dword [edi + 0x18], ecx
cmp edx, dword [eax + 0x37c0]
jge 0x6002de30
mov eax, dword [eax + 0x4de0]
test eax, eax
jne 0x6002de30
mov eax, dword [esp + 0x38]
mov dword [eax + 0x74], 1
jmp 0x6002de3b
mov eax, dword [esp + 0x38]
mov dword [eax + 0x74], 0
mov dword [esp], eax
call fcn.60040ed0
mov eax, dword [edi + 8]
test eax, eax
je 0x6002de50
mov edx, dword [edi + 0x14]
jmp 0x6002de85
mov edx, dword [edi + 0xc]
cmp edx, 0x3f
je 0x6002de60
mov edx, dword [edi + 0x14]
jmp 0x6002de85
mov edx, dword [edi + 0x10]
test edx, edx
je 0x6002de70
mov edx, dword [edi + 0x14]
jmp 0x6002de85
mov edx, dword [edi + 0x14]
test edx, edx
jne 0x6002de85
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 0x4de0]
test ecx, ecx
je 0x6002ded8
test eax, eax
jne 0x6002deb0
mov eax, dword [edi + 0xc]
test eax, eax
jne 0x6002deb0
test edx, edx
jne 0x6002debe
mov eax, dword [esp + 0x38]
mov edx, dword [edi]
add dword [eax + 0x37d4], edx
jmp 0x6002debe
test edx, edx
jne 0x6002debe
mov eax, dword [esp + 0x38]
inc dword [eax + 0x37d8]
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x4de0]
inc edx
mov dword [eax + 0x4de0], edx
cmp edx, 1
je 0x6002e3dd
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x74]
cmp eax, 1
je 0x6002e5bd
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x4de8]
mov dword [eax + 0x37e0], edi
cmp edx, 1
jne 0x6002dfca
xor ecx, ecx
mov esi, dword [eax + 0x37c0]
xor ebx, ebx
test esi, esi
jle 0x6002df33
mov ebp, eax
mov edx, ecx
shl edx, 4
mov eax, dword [ebp + 0x37cc]
mov ebp, eax
mov esi, esi
inc ecx
mov eax, dword [edx + ebp + 4]
imul eax, dword [edx + ebp + 8]
add edx, 0x10
add ebx, eax
cmp ecx, esi
jl 0x6002df20
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x78]
mov eax, dword [eax + 0x4dec]
shl edx, 6
imul edx, ebx
shl ebx, 7
add ebx, edx
test eax, eax
jne 0x6002dfca
mov dword [esp], 0x14
call fcn.60047a2f
mov edx, dword [esp + 0x38]
test eax, eax
mov dword [edx + 0x4dec], eax
je 0x6002e48e
lea eax, [ebx + ebx]
add eax, eax
add eax, eax
mov dword [esp], eax
call fcn.60047a2f
mov ecx, dword [esp + 0x38]
mov ebp, dword [ecx + 0x4dec]
mov dword [ebp], eax
mov edx, dword [ecx + 0x4dec]
mov eax, dword [edx]
test eax, eax
je 0x6002e470
lea eax, [eax + ebx*2]
mov dword [edx + 4], eax
mov ebp, dword [ecx + 0x4dec]
mov esi, dword [ebp + 4]
lea esi, [esi + ebx*2]
mov dword [ebp + 8], esi
mov ebp, dword [ecx + 0x4dec]
mov esi, dword [ebp + 8]
lea esi, [esi + ebx*2]
mov dword [ebp + 0xc], esi
mov ecx, dword [ecx + 0x4dec]
mov dword [ecx + 0x10], 0
lea eax, [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], edx
call fcn.6003e140
mov ebx, eax
cmp ebx, 1
je 0x6002e5b4
cmp ebx, 2
je 0x6002e530
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x4de0]
test eax, eax
jne 0x6002e015
mov eax, dword [esp + 0x1c]
mov edi, dword [edi]
add dword [eax + 0x38], edi
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x37e0]
test eax, eax
je 0x6002e027
test ebx, ebx
je 0x6002e040
test ebx, ebx
jl 0x6002e3b9
jmp 0x6002e078
mov eax, dword [eax + 0x34]
mov dword [esp], eax
call fcn.60047a3d
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x37e0]
mov dword [edx + 0x34], 0
mov eax, dword [eax + 0x37e0]
mov dword [esp], eax
call fcn.60047a3d
mov eax, dword [esp + 0x38]
mov dword [eax + 0x37e0], 0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x6002e090
mov ebp, dword [esp + 0x1c]
jmp case.0x6002e0b2.208
mov ebp, dword [esp + 0x1c]
lea esi, [esi]
lea edi, [edi]
cmp eax, 0x100
ja case.0x6002e0b2.0
mov eax, dword [eax*4 + 0x600571a0]
jmp eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x37dc]
test eax, eax
jne case.0x6002e0b2.192
jmp case.0x6002e0b2.208
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x37dc]
test eax, eax
je case.0x6002e0b2.208
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
cmp eax, 5
je 0x6002e4d0
cmp eax, 4
jne 0x6002e116
mov esi, ebp
mov eax, dword [esi + 0x1c]
add eax, 0xfffffffe
mov dword [esi + 0x1c], eax
jmp case.0x6002e0b2.256
mov eax, edx
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.600351e0
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x37c0]
mov dword [edx + 0x37dc], 0
test eax, eax
jle 0x6002e151
cmp eax, 0xff
jle 0x6002e498
mov ebx, 0xfffffff2
jmp 0x6002e3b9
mov ebx, 0xffffffe3
jmp 0x6002e3b9
mov eax, dword [esp + 0x38]
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.600360b0
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
jmp case.0x6002e0b2.208
mov ebx, 0xffffffe3
jmp 0x6002e3b9
mov ebx, 0xffffffe3
jmp 0x6002e3b9
mov ebx, 0xffffffe3
jmp 0x6002e3b9
mov ebx, 0xffffffe3
jmp 0x6002e3b9
mov ebx, 0xffffffe3
jmp 0x6002e3b9
mov ebx, 0xffffffe3
jmp 0x6002e3b9
mov ebx, 0xffffffe3
jmp 0x6002e3b9
mov ebx, 0xffffffe3
jmp 0x6002e3b9
mov ebx, 0xffffffe3
jmp 0x6002e3b9
mov ebx, 0xffffffe3
jmp 0x6002e3b9
mov eax, dword [esp + 0x38]
mov dword [eax + 0x37d0], 0
jmp case.0x6002e0b2.208
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
cmp eax, 5
je case.0x6002e0b2.256
cmp eax, 4
je case.0x6002e0b2.256
cmp eax, 1
je case.0x6002e0b2.256
test eax, eax
je case.0x6002e0b2.256
cmp eax, 0x15
je case.0x6002e0b2.256
cmp eax, 0x14
je case.0x6002e0b2.256
mov eax, edx
mov eax, dword [eax + 0x37dc]
test eax, eax
jne 0x6002e4d7
mov ebp, edx
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x6002e3b9
mov eax, dword [ebp + 0x68]
test eax, eax
je 0x6002e3b9
mov eax, dword [ebp + 0x4de0]
test eax, eax
jne 0x6002e3b9
mov dword [esp], ebp
call fcn.600041c0
jmp 0x6002e3b9
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x38]
mov edi, dword [eax + 0x37e0]
jmp 0x6002dd46
mov eax, dword [esp + 0x38]
mov dword [esp + 4], ebp
mov edx, dword [eax + 0x14]
mov dword [esp], eax
mov dword [esp + 8], edx
call fcn.60035ce0
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
jmp case.0x6002e0b2.208
lea eax, [esp + 0x14]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.60035120
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
mov dword [eax + 0x37d0], edx
jmp case.0x6002e0b2.208
mov eax, dword [esp + 0x38]
cmp dword [eax], 6
je case.0x6002e0b2.208
mov dword [esp], eax
call fcn.60035600
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
jmp case.0x6002e0b2.208
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.60035470
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x37dc]
test eax, eax
je 0x6002e50a
jmp case.0x6002e0b2.208
mov dword [esp], ebp
call fcn.60035050
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
jmp case.0x6002e0b2.208
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.60035af0
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
lea eax, [esp + 0x10]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.60034fc0
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
mov eax, dword [esp + 0x10]
cmp eax, 0x100
jne 0x6002e0a0
xor ebx, ebx
add esp, 0x24
mov eax, ebx
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [edi + 0x1c]
test eax, eax
jne 0x6002dd42
mov eax, dword [edi + 0x20]
test eax, eax
jne 0x6002dd42
mov ebp, esi
jmp case.0x6002e0b2.208
xor ecx, ecx
mov esi, dword [eax + 0x37c0]
xor ebx, ebx
test esi, esi
jle 0x6002e413
mov ebp, eax
mov edx, ecx
shl edx, 4
mov eax, dword [ebp + 0x37cc]
mov ebp, eax
lea esi, [esi]
inc ecx
mov eax, dword [edx + ebp + 4]
imul eax, dword [edx + ebp + 8]
add edx, 0x10
add ebx, eax
cmp ecx, esi
jl 0x6002e400
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x78]
shl edx, 6
imul edx, dword [eax + 0x7c]
imul edx, ebx
add edx, edx
mov dword [esp], edx
call fcn.60047a2f
mov edx, dword [esp + 0x38]
test eax, eax
mov dword [edx + 0x4de4], eax
jne 0x6002ded8
mov eax, dword [edi + 0x34]
mov ebp, edx
mov dword [esp], eax
call fcn.60047a3d
mov dword [edi + 0x34], 0
mov dword [esp], edi
call fcn.60047a3d
mov dword [ebp + 0x37e0], 0
mov ebx, 0xfffffffb
jmp 0x6002e3b9
mov ebp, ecx
mov dword [esp], edx
call fcn.60047a3d
mov dword [ebp + 0x4dec], 0
mov ebx, 0xfffffffb
jmp 0x6002e3b9
mov ebx, 0xfffffffb
jmp 0x6002e3b9
mov ecx, dword [edx + 0x37a8]
mov ebx, dword [edx + 0x37ac]
mov dword [edx + 0x54], eax
mov dword [esp], edx
mov dword [edx + 0x4c], ecx
mov dword [edx + 0x50], ebx
call fcn.60040ed0
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
jmp case.0x6002e0b2.208
mov esi, ebp
jmp 0x6002e108
lea eax, [esp + 0x10]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.60034fc0
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
mov eax, dword [esp + 0x10]
cmp eax, 0xd8
je 0x6002e0a0
mov ebx, 0xffffffea
jmp 0x6002e3b9
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.60040ed0
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
jmp case.0x6002e0b2.208
mov ebp, dword [esp + 0x38]
mov eax, dword [ebp + 0x4de0]
test eax, eax
je 0x6002e55d
mov eax, dword [ebp + 0x1c]
test eax, eax
jne 0x6002e55d
inc dword [ebp + 0x37d8]
mov dword [ebp + 0x37e0], edi
mov dword [ebp + 0x1c], 0
jmp 0x6002e3b9
mov eax, dword [ebp + 0x74]
cmp eax, 1
je 0x6002e577
mov dword [ebp + 0x37e0], edi
mov dword [ebp + 0x1c], 0
jmp 0x6002e3b9
cmp ebx, 2
jne 0x6002e565
mov eax, dword [ebp + 0x68]
test eax, eax
je 0x6002e58b
mov dword [esp], ebp
call fcn.600041c0
mov eax, dword [edi + 0x34]
mov dword [esp], eax
call fcn.60047a3d
mov dword [edi + 0x34], 0
mov dword [esp], edi
call fcn.60047a3d
mov dword [ebp + 0x37e0], 0
jmp 0x6002e3b9
mov ebp, dword [esp + 0x38]
jmp 0x6002e534
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x4de0]
test eax, eax
jne 0x6002dee8
mov eax, dword [esp + 0x38]
mov edx, dword [edi]
add dword [eax + 0x37d8], edx
jmp 0x6002dee8
mov dword [esp], edi
call fcn.60047a3d
jmp 0x6002e3b9
mov esi, dword [esp + 0x1c]
jmp 0x6002ddc5
mov ebx, 0xfffffffb
jmp 0x6002e3b9
mov ebp, esi
jmp case.0x6002e0b2.208
mov dword [esp], ebp
call fcn.60040ed0
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
jmp 0x6002dcb8
test eax, eax
je 0x6002e638
mov edx, dword [eax + 0x1c]
test edx, edx
jne 0x6002dc52
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x6002dc52
xor edx, edx
mov dword [esi + 4], edx
mov dword [esi], edx
mov eax, dword [ebp]
cmp eax, 2
je 0x6002e679
cmp eax, 6
je 0x6002e679
cmp eax, 0xe
je 0x6002e679
cmp eax, 0x12
je 0x6002e679
cmp eax, 0x10
je 0x6002e679
mov edx, dword [esi + 0x20]
mov ecx, dword [ebp + 0x44]
mov dword [esi + 0x24], edx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x1c], 0
mov eax, dword [ebp + 0x37e0]
jmp 0x6002dc52
xor eax, eax
mov edx, dword [esi + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 4], eax
mov dword [esi + 0x1c], eax
mov dword [esp], edx
call fcn.60030e20
test eax, eax
jne 0x6002e69f
mov ebx, 0xffffffe9
jmp 0x6002e3b9
mov dword [esp], esi
call fcn.60040d00
mov ebx, eax
test ebx, ebx
jne 0x6002e3b9
mov eax, dword [ebp + 0x37e0]
jmp 0x6002dc52
test eax, eax
je 0x6002e6f4
mov edx, dword [eax + 0x1c]
test edx, edx
jne 0x6002e6ec
mov edx, dword [eax + 0x20]
test edx, edx
je 0x6002e6d6
mov edx, dword [ebp + 0x74]
jmp 0x6002dc49
mov dword [esp], esi
call fcn.60040cb0
mov eax, dword [ebp + 0x37e0]
mov edx, dword [ebp + 0x74]
jmp 0x6002dc49
mov edx, dword [ebp + 0x74]
jmp 0x6002dc49
mov dword [esp], esi
call fcn.60040cb0
mov eax, dword [ebp + 0x37e0]
mov edx, dword [ebp + 0x74]
jmp 0x6002dc49