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

Disassembly:
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x60]
mov byte [esp + 0x10], 0
cmp di, 1
jl 0x10003a97
cmp di, 0x15
jg 0x10003a97
mov esi, dword [esp + 0x5c]
push esi
call fcn.10003b00
mov ebx, eax
add esp, 4
test bx, bx
je 0x100032ac
push esi
call fcn.10003b30
add esp, 4
mov ax, bx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov ebp, dword [esp + 0x64]
push 0
push ebp
call fcn.100059c0
mov ebx, eax
mov eax, edi
and eax, 0xffff
dec eax
cmp eax, 0x14
ja case.0x100032cb.3
jmp dword [eax*4 + 0x10003aa4]
mov ecx, dword [esp + 0x68]
push 0
mov dx, word [ecx]
push edx
push 1
push esi
call fcn.100025a0
add esp, 8
push eax
push 0x1000bde0
call fcn.10005b40
add esp, 0x10
neg ax
pop edi
pop esi
sbb eax, eax
pop ebp
and eax, 0x66
pop ebx
add esp, 0x48
ret
push 1
push ebx
call fcn.10003e60
add esp, 8
cmp ax, 1
jne 0x100033b5
lea eax, [esp + 0x10]
lea ecx, [esp + 0x60]
push eax
push ecx
push ebx
push 0x1000bde0
call fcn.100061e0
test ax, ax
je 0x10003340
pop edi
pop esi
pop ebp
mov ax, 0x66
pop ebx
add esp, 0x48
ret
cmp byte [esp + 0x10], 1
jne 0x10003387
push 3
push esi
call fcn.100025a0
add esp, 8
push eax
push 2
push esi
call fcn.100025a0
add esp, 8
push eax
push 1
push esi
call fcn.100025a0
add esp, 8
push eax
push ebp
push 0x1000bde0
call fcn.10005650
test ax, ax
je 0x10003387
pop edi
pop esi
pop ebp
mov ax, 0x66
pop ebx
add esp, 0x48
ret
push 1
push esi
call fcn.100025a0
add esp, 8
push eax
push 0
push 0x1000bbe0
push ebp
push 0x1000bde0
call fcn.100053e0
neg ax
pop edi
pop esi
sbb eax, eax
pop ebp
and eax, 0x66
pop ebx
add esp, 0x48
ret
pop edi
pop esi
pop ebp
mov ax, 8
pop ebx
add esp, 0x48
ret
push 1
push ebx
call fcn.10003e60
add esp, 8
cmp ax, 1
jne 0x100033b5
lea edx, [esp + 0x10]
lea eax, [esp + 0x60]
push edx
push eax
push ebx
push 0x1000bde0
call fcn.100061e0
test ax, ax
je 0x100033f8
pop edi
pop esi
pop ebp
mov ax, 0x66
pop ebx
add esp, 0x48
ret
cmp byte [esp + 0x10], 1
jne 0x1000343f
push 3
push esi
call fcn.100025a0
add esp, 8
push eax
push 2
push esi
call fcn.100025a0
add esp, 8
push eax
push 1
push esi
call fcn.100025a0
add esp, 8
push eax
push ebp
push 0x1000bde0
call fcn.10005650
test ax, ax
je 0x1000343f
pop edi
pop esi
pop ebp
mov ax, 0x66
pop ebx
add esp, 0x48
ret
mov ecx, dword [esp + 0x6c]
push 1
push esi
cmp word [ecx], 0
setne dl
mov byte [esp + 0x18], dl
call fcn.100025a0
mov edx, dword [esp + 0x70]
add esp, 8
xor ecx, ecx
mov cx, word [edx]
push eax
mov eax, dword [esp + 0x14]
push eax
push ecx
push ebp
push 0x1000bde0
call fcn.10005200
neg ax
pop edi
pop esi
sbb eax, eax
pop ebp
and eax, 0x66
pop ebx
add esp, 0x48
ret
push 1
push ebx
call fcn.10003e60
add esp, 8
cmp ax, 1
jne 0x100033b5
lea eax, [esp + 0x10]
lea ecx, [esp + 0x60]
push eax
push ecx
push ebx
push 0x1000bde0
call fcn.100061e0
test ax, ax
je 0x100034bf
pop edi
pop esi
pop ebp
mov ax, 0x66
pop ebx
add esp, 0x48
ret
cmp byte [esp + 0x10], 1
jne 0x10003506
push 3
push esi
call fcn.100025a0
add esp, 8
push eax
push 2
push esi
call fcn.100025a0
add esp, 8
push eax
push 1
push esi
call fcn.100025a0
add esp, 8
push eax
push ebp
push 0x1000bde0
call fcn.10005650
test ax, ax
je 0x10003506
pop edi
pop esi
pop ebp
mov ax, 0x66
pop ebx
add esp, 0x48
ret
push esi
call fcn.10002810
mov di, ax
mov eax, dword [esp + 0x6c]
and edi, 0xffff
xor edx, edx
mov dx, word [eax]
push 1
shl edi, 0x10
push esi
add edi, edx
call fcn.100025a0
add esp, 0xc
push eax
push 0
push edi
push ebp
push 0x1000bde0
call fcn.10005200
test ax, ax
je 0x1000354e
pop edi
pop esi
pop ebp
mov ax, 0x66
pop ebx
add esp, 0x48
ret
push esi
call fcn.10003070
push eax
push esi
call fcn.10002860
add esp, 0xc
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
add esp, 0x48
ret
push esi
call fcn.10003b30
movzx cx, byte [esp + 0x14]
mov edx, dword [esp + 0x70]
add esp, 4
shl ecx, 9
pop edi
pop esi
pop ebp
mov word [edx], cx
xor ax, ax
pop ebx
add esp, 0x48
ret
push 1
push ebx
call fcn.10003e60
add esp, 8
cmp ax, 1
jne 0x100033b5
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
push ecx
push ebx
push 0x1000bde0
call fcn.100061e0
mov ebx, eax
mov al, byte [esp + 0x10]
cmp al, 2
jne 0x100035cb
mov ebx, 4
jmp 0x10003668
test bx, bx
jne 0x10003668
lea edx, [esp + 0x14]
push edx
push ebp
push 0x1000bde0
call fcn.10005000
cmp di, 0xe
jne 0x100035ff
mov ecx, dword [esp + 0x68]
xor eax, eax
mov ax, word [ecx]
mov ecx, dword [esp + 0x14]
and ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x10003612
mov eax, dword [esp + 0x68]
xor edx, edx
mov dx, word [eax]
mov eax, dword [esp + 0x14]
or eax, edx
mov dword [esp + 0x14], eax
cmp byte [esp + 0x10], 1
jne 0x10003648
push 3
push esi
call fcn.100025a0
add esp, 8
push eax
push 2
push esi
call fcn.100025a0
add esp, 8
push eax
push 1
push esi
call fcn.100025a0
add esp, 8
push eax
push ebp
push 0x1000bde0
call fcn.10005650
push 1
push esi
call fcn.100025a0
mov ecx, dword [esp + 0x1c]
add esp, 8
push eax
push 0
push ecx
push ebp
push 0x1000bde0
call fcn.10005200
mov ebx, eax
push esi
call fcn.10003b30
add esp, 4
neg bx
sbb ebx, ebx
pop edi
and ebx, 0x67
pop esi
mov ax, bx
pop ebp
pop ebx
add esp, 0x48
ret
mov edx, ebx
and ebx, 0x1ff
shr edx, 9
and dl, 3
push 1
push ebx
mov byte [esp + 0x18], dl
call fcn.10003e60
add esp, 8
cmp ax, 1
jne 0x100033b5
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x10]
push eax
mov cx, word [edi]
push ecx
push ebx
push 3
push esi
call fcn.100025a0
add esp, 8
push eax
push 2
push esi
call fcn.100025a0
add esp, 8
push eax
push 1
push esi
call fcn.100025a0
add esp, 8
push eax
push 0x1000bde0
call fcn.10006370
test ax, ax
je 0x1000355e
mov edx, dword [esp + 0x10]
mov ax, word [edi]
push edx
push eax
push ebx
push 1
push esi
call fcn.100025a0
add esp, 8
push eax
push 0x1000bde0
call fcn.100062b0
neg ax
pop edi
pop esi
sbb eax, eax
pop ebp
and eax, 0x66
pop ebx
add esp, 0x48
ret
push 1
push ebx
call fcn.10003e60
add esp, 8
cmp ax, 1
jne 0x100033b5
mov edi, dword [esp + 0x68]
lea edx, [esp + 0x10]
lea eax, [esp + 0x5c]
push edx
mov cx, word [edi]
push eax
push ebx
push 0x1000bde0
mov word [esp + 0x78], cx
call fcn.100061e0
test ax, ax
jne 0x1000376e
cmp byte [esp + 0x10], 2
jne 0x1000376e
mov cx, word [esp + 0x68]
cmp word [esp + 0x5c], cx
jae 0x1000377a
pop edi
pop esi
pop ebp
mov ax, 0x68
pop ebx
add esp, 0x48
ret
mov dx, word [edi]
push edx
push 1
push esi
call fcn.100025a0
add esp, 8
push eax
push ebp
push 0x1000bde0
call fcn.10004f30
neg ax
pop edi
pop esi
sbb eax, eax
pop ebp
and eax, 0x68
pop ebx
add esp, 0x48
ret
push 1
push ebx
call fcn.10003e60
add esp, 8
cmp ax, 1
jne 0x100033b5
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x10]
push eax
push ecx
push ebx
push 0x1000bde0
call fcn.100061e0
test ax, ax
jne 0x1000376e
cmp byte [esp + 0x10], 2
jne 0x1000376e
push ebx
push esi
call fcn.10003180
add esp, 8
neg ax
pop edi
pop esi
sbb eax, eax
pop ebp
and eax, 0x68
pop ebx
add esp, 0x48
ret
push 1
push ebx
call fcn.10003e60
add esp, 8
cmp ax, 1
jne 0x100033b5
mov edx, dword [esp + 0x68]
mov ax, word [edx]
push eax
push esi
call fcn.10002860
add esp, 8
xor ax, ax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
push 1
push ebx
call fcn.10003e60
add esp, 8
cmp ax, 1
jne 0x100033b5
lea ecx, [esp + 0x10]
lea edx, [esp + 0x5c]
lea edi, [ebx - 1]
push ecx
push edx
push edi
push 0x1000bde0
call fcn.100061e0
test ax, ax
jne 0x10003873
cmp byte [esp + 0x10], 2
jne 0x10003873
push edi
push esi
call fcn.10003180
lea eax, [ebx - 2]
push eax
push esi
call fcn.10003180
add esp, 0x10
push 1
push esi
call fcn.100025a0
push esi
mov edi, eax
call fcn.10002810
mov ecx, dword [esp + 0x74]
xor dx, dx
add esp, 0xc
mov dl, bl
mov cx, word [ecx]
push edx
push ecx
push eax
push edi
push 0x1000bde0
call fcn.100064e0
test ax, ax
je 0x1000354e
pop edi
pop esi
pop ebp
mov ax, 0x6f
pop ebx
add esp, 0x48
ret
push 0
push ebx
call fcn.10003e60
add esp, 8
cmp ax, 1
jne 0x100033b5
push esi
call fcn.10002fb0
add esp, 4
lea edi, [esp + 0x18]
mov ebp, 0x20
push esi
call fcn.10002fd0
and eax, 0xffff
mov ecx, 0xf
cdq
idiv ecx
add esp, 4
inc edi
dec ebp
mov byte [edi - 1], dl
jne 0x100038dc
push 0x20
lea edx, [esp + 0x3c]
push 0
lea eax, [esp + 0x20]
push edx
push eax
push ebx
push 0x1000bde0
call fcn.10006590
push esi
mov edi, eax
call fcn.10003b30
add esp, 4
test di, di
je 0x1000392e
pop edi
pop esi
pop ebp
mov ax, 0x6f
pop ebx
add esp, 0x48
ret
mov esi, dword [esp + 0x68]
xor eax, eax
mov ecx, 0x20
mov word [esi], 0
mov dl, byte [esp + eax + 0x18]
mov bl, byte [esp + eax + 0x38]
cmp dl, bl
je 0x1000394f
mov word [esi], 1
inc eax
dec ecx
jne 0x1000393e
mov eax, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
mov word [eax], 0x600
xor ax, ax
pop ebx
add esp, 0x48
ret
push 0
push ebx
call fcn.10003e60
add esp, 8
cmp ax, 1
jne 0x100033b5
mov ebp, dword [esp + 0x68]
lea ecx, [esp + 0x10]
push ecx
push ebp
push ebx
push 0x1000bde0
call fcn.100061e0
push esi
mov edi, eax
call fcn.10003b30
add esp, 4
test di, di
jne 0x100039cc
cmp byte [esp + 0x10], 1
je 0x100039cc
mov edx, dword [esp + 0x6c]
xor eax, eax
pop edi
pop esi
mov word [edx], 0x600
cmp word [ebp], ax
setne al
add eax, 2
mov word [ebp], ax
pop ebp
xor ax, ax
pop ebx
add esp, 0x48
ret
pop edi
pop esi
pop ebp
mov ax, 0x6b
pop ebx
add esp, 0x48
ret
mov edi, dword [esp + 0x68]
push 1
push ebx
mov bp, word [edi]
call fcn.10003e60
add esp, 8
cmp ax, 1
jne 0x100033b5
lea ecx, [esp + 0x10]
push ecx
push edi
push ebx
push 0x1000bde0
call fcn.100061e0
test ax, ax
jne 0x10003a7f
cmp byte [esp + 0x10], 2
jne 0x10003a7f
mov ax, word [edi]
mov ecx, ebp
mov edx, eax
and ecx, 0xffff
and edx, 0xffff
add edx, ecx
cmp edx, 0xffff
jg 0x10003a35
add eax, ebp
mov word [edi], ax
jmp 0x10003a3a
mov word [edi], 0xffff
mov dx, word [edi]
push 2
push edx
push ebx
push 3
push esi
call fcn.100025a0
add esp, 8
push eax
push 2
push esi
call fcn.100025a0
add esp, 8
push eax
push 1
push esi
call fcn.100025a0
add esp, 8
push eax
push 0x1000bde0
call fcn.10006370
neg ax
pop edi
pop esi
sbb eax, eax
pop ebp
and eax, 0x6c
pop ebx
add esp, 0x48
ret
pop edi
pop esi
pop ebp
mov ax, 0x6c
pop ebx
add esp, 0x48
ret
pop edi
pop esi
pop ebp
mov ax, 3
pop ebx
add esp, 0x48
ret
pop edi
pop esi
pop ebp
mov ax, 5
pop ebx
add esp, 0x48
ret