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

Disassembly:
push edi
push esi
push ebp
push ebx
mov edi, dword [esp + 0x14]
sub esp, 0x54
mov eax, dword [edi + 0x34]
cmp eax, 1
je 0x60003b75
cmp eax, 2
je 0x60003b75
cmp eax, 5
je 0x60003b75
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [edi + 0x37b8]
mov edx, dword [esp + 0x78]
mov ecx, dword [edi + 0x37bc]
mov ebx, dword [esp + 0x6c]
imul eax, edx
imul ecx, edx
mov dword [esp + 4], eax
lea eax, [ebx + 0x2c]
mov dword [esp + 8], ecx
lea edx, [edi + 4]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x74]
mov dword [esp], edx
mov edx, dword [edi + 0x30]
mov dword [esp + 0xc], ecx
mov ecx, dword [edi + 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0x24]
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0x28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x20], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], ecx
call section..text
test eax, eax
jne 0x60003d43
mov ebx, dword [ebx + 0x2c]
mov eax, dword [edi + 0x30]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], eax
cmp eax, 3
je 0x60003e20
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
cmp edx, eax
jge 0x60003d43
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x38]
imul ecx, ebx
mov dword [esp + 0x40], ecx
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
imul esi, dword [esp + 0x30]
cmp esi, ecx
jge 0x60003d3a
mov dword [esp + 0x44], edx
nop
lea esi, [esi]
mov ebp, dword [esp + 0x44]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x48]
imul ebp, dword [eax + 0x3c]
add ebp, edx
movzx ecx, byte [ebp + esi + 2]
movzx ebx, byte [ebp + esi]
movsx ecx, cx
movsx ebx, bx
movzx edi, byte [ebp + esi + 1]
imul edx, ecx, 0x167
add edx, 0xffff4d0b
sar edx, 8
add edx, ebx
cmp edx, 0xff
jle 0x60003c90
mov edx, 0xff
jmp 0x60003c98
test edx, edx
jl 0x60003e10
imul ecx, ecx, 0xffffff49
movsx edx, dx
mov eax, edx
mov edx, edi
movsx edx, dx
mov dword [esp + 0x50], eax
imul eax, edx, 0xffffffa8
lea ecx, [eax + ecx + 0x87f6]
sar ecx, 8
add ecx, ebx
cmp ecx, 0xff
jle 0x60003cd0
mov ecx, 0xff
jmp 0x60003cd8
test ecx, ecx
jl 0x60003e00
imul edx, edx, 0x1c6
add edx, 0xffff1daf
sar edx, 8
add edx, ebx
movsx ebx, cx
cmp edx, 0xff
jle 0x60003d00
mov edx, 0xff
jmp 0x60003d08
test edx, edx
jl 0x60003df0
movsx ecx, dx
mov eax, dword [esp + 0x68]
mov edx, dword [eax + 0x58]
cmp edx, 6
je 0x60003d90
cmp edx, 3
je 0x60003d4b
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
add esi, eax
cmp esi, edx
jl 0x60003c40
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
inc edx
cmp edx, eax
jl 0x60003c22
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x68]
mov byte [ebp + esi], al
mov eax, dword [edx + 0x3c]
mov edi, dword [esp + 0x44]
imul eax, edi
mov ebp, dword [esp + 0x48]
add eax, ebp
mov byte [esi + eax + 1], bl
mov eax, dword [edx + 0x3c]
imul eax, edi
add ebp, eax
mov byte [esi + ebp + 2], cl
mov edx, dword [edx + 0x30]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x4c], edx
imul edx, eax
mov dword [esp + 0x40], edx
jmp 0x60003d20
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x68]
movsx eax, ax
movsx ebx, bx
movsx ecx, cx
mov edi, dword [esp + 0x44]
neg al
add al, 0xff
mov byte [ebp + esi], al
mov eax, dword [edx + 0x3c]
imul eax, edi
mov ebp, dword [esp + 0x48]
add eax, ebp
neg bl
neg cl
add bl, 0xff
add cl, 0xff
mov byte [esi + eax + 1], bl
mov eax, dword [edx + 0x3c]
imul eax, edi
add ebp, eax
mov byte [esi + ebp + 2], cl
mov edx, dword [edx + 0x30]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x4c], edx
imul edx, eax
mov dword [esp + 0x40], edx
jmp 0x60003d20
xor edx, edx
jmp 0x60003d08
xor ecx, ecx
jmp 0x60003cd8
xor edx, edx
jmp 0x60003c98
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
cmp ecx, eax
jge 0x60003d43
mov ebx, dword [esp + 0x38]
lea edx, [ebx + ebx*2]
mov ebx, dword [esp + 0x30]
lea esi, [ebx + ebx*2]
cmp esi, edx
jge 0x60003f66
mov dword [esp + 0x50], ecx
lea esi, [esi]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
imul edx, dword [edi + 0x3c]
add edx, eax
movzx ebx, byte [edx + esi + 2]
movzx ecx, byte [edx + esi]
movsx ebx, bx
movsx ecx, cx
movzx ebp, byte [edx + esi + 1]
imul eax, ebx, 0x167
mov dword [esp + 0x44], ecx
add eax, 0xffff4d0b
sar eax, 8
add ecx, eax
cmp ecx, 0xff
jle 0x60003ea0
mov ecx, 0xff
jmp 0x60003ea8
test ecx, ecx
jl 0x60003f90
imul ebx, ebx, 0xffffff49
movsx ecx, cx
mov eax, ecx
mov ecx, ebp
movsx ecx, cx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x44]
imul ebp, ecx, 0xffffffa8
lea ebx, [ebp + ebx + 0x87f6]
sar ebx, 8
add ebx, eax
cmp ebx, 0xff
jle 0x60003ee0
mov ebx, 0xff
jmp 0x60003ee8
test ebx, ebx
jl 0x60003f80
imul ecx, ecx, 0x1c6
add ecx, 0xffff1daf
movsx ebx, bx
sar ecx, 8
add ecx, eax
cmp ecx, 0xff
jle 0x60003f10
mov ecx, 0xff
jmp 0x60003f18
test ecx, ecx
jl 0x60003fa0
movsx ecx, cx
mov eax, dword [edi + 0x34]
cmp eax, 2
je 0x60003fb0
mov eax, dword [esp + 0x4c]
mov byte [edx + esi], al
mov eax, dword [edi + 0x3c]
mov ebp, dword [esp + 0x50]
imul eax, ebp
mov edx, dword [esp + 0x48]
add eax, edx
mov byte [esi + eax + 1], bl
mov eax, dword [edi + 0x3c]
imul eax, ebp
add edx, eax
mov byte [esi + edx + 2], cl
mov eax, dword [esp + 0x38]
add esi, 3
lea edx, [eax + eax*2]
cmp esi, edx
jl 0x60003e50
mov ecx, ebp
mov eax, dword [esp + 0x3c]
inc ecx
cmp ecx, eax
jl 0x60003e37
jmp 0x60003d43
xor ebx, ebx
jmp 0x60003ee8
xor ecx, ecx
jmp 0x60003ea8
xor ecx, ecx
jmp 0x60003f18
mov byte [edx + esi], cl
mov eax, dword [edi + 0x3c]
mov ebp, dword [esp + 0x50]
mov edx, dword [esp + 0x48]
imul eax, ebp
add eax, edx
mov byte [esi + eax + 1], bl
mov eax, dword [edi + 0x3c]
mov ecx, dword [esp + 0x4c]
imul eax, ebp
add edx, eax
mov byte [esi + edx + 2], cl
jmp 0x60003f4e