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

Disassembly:
push ebx
push esi
sub esp, 0x7c
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x74], ecx
add eax, 0x13
mov dword [esp + 0x78], eax
mov eax, dword [0x1005e364]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
add eax, 0x61d1b9fb
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x64]
cmp eax, 1
sete al
mov byte [esp + 0x63], al
mov cl, byte [esp + 0x63]
xor eax, eax
test cl, 1
mov dword [esp + 0x5c], eax
jne 0x1003f62c
jmp 0x1003f468
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
mov ecx, dword [0x1005fc68]
mov eax, dword [0x1005fc64]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov cl, bl
xor cl, 0xff
mov ah, dh
xor ah, 0xff
mov dl, 1
xor dl, 0
mov al, cl
and al, 0
and bl, dl
mov ch, ah
and ch, 0
and dh, dl
or al, bl
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x1003f4d1
jmp 0x1003f7c3
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x58]
mov al, byte [eax + ecx]
mov byte [esp + 0x57], al
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x58]
mov esi, 0x13
xor edx, edx
div esi
mov ah, byte [esp + 0x57]
mov dl, byte [ecx + edx]
mov al, ah
xor al, 0xff
and al, 0x4c
mov ch, 0xff
xor ch, 0x4c
and ah, ch
mov cl, dl
xor cl, 0xff
and cl, 0x4c
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [esp + 0x56], al
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x58]
mov dl, byte [esp + 0x56]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x58]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 1
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [esp + 0x48], eax
cmp eax, 0x15
sete al
mov byte [esp + 0x4f], al
mov eax, dword [0x1005fc68]
mov ecx, dword [0x1005fc64]
mov edx, eax
add edx, 0x70e2d835
sub edx, 1
sub edx, 0x70e2d835
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov byte [esp + 0x50], cl
mov dl, al
xor dl, 0xff
mov byte [esp + 0x51], dl
xor cl, 0xff
mov byte [esp + 0x52], cl
mov cl, 1
xor cl, 0
mov byte [esp + 0x53], cl
and dl, 0
mov byte [esp + 0x54], dl
and al, cl
mov byte [esp + 0x55], al
mov ah, byte [esp + 0x55]
mov al, byte [esp + 0x54]
mov ch, byte [esp + 0x53]
mov dl, byte [esp + 0x50]
mov cl, byte [esp + 0x52]
and cl, 0
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [esp + 0x47], al
mov al, byte [esp + 0x47]
mov dl, byte [esp + 0x53]
mov ah, byte [esp + 0x52]
mov cl, byte [esp + 0x51]
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x1003f5ed
jmp 0x1003f7c3
mov eax, dword [esp + 0x48]
mov cl, byte [esp + 0x4f]
test cl, 1
mov dword [esp + 0x5c], eax
jne 0x1003f607
jmp 0x1003f468
mov eax, dword [0x1005e364]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add eax, 0x61d1b9fb
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov dword [eax], 1
jmp 0x1003f62c
mov eax, dword [0x1005fc68]
mov dword [esp + 0x30], eax
mov ecx, dword [0x1005fc64]
mov dword [esp + 0x34], ecx
sub eax, 0xd07ac69d
sub eax, 1
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
add ecx, 0xd07ac69d
imul eax, ecx
and eax, 1
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
cmp eax, 0
sete al
mov byte [esp + 0x26], al
cmp ecx, 0xa
setl cl
mov byte [esp + 0x27], cl
xor al, 0xff
mov byte [esp + 0x28], al
xor cl, 0xff
mov byte [esp + 0x29], cl
mov cl, 1
xor cl, 0
mov byte [esp + 0x2a], cl
and al, 0
mov byte [esp + 0x2b], al
mov al, byte [esp + 0x2b]
mov ch, byte [esp + 0x2a]
mov dl, byte [esp + 0x27]
mov cl, byte [esp + 0x29]
mov ah, byte [esp + 0x26]
and ah, ch
and cl, 0
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [esp + 0x25], al
mov al, byte [esp + 0x25]
mov dl, byte [esp + 0x2a]
mov ah, byte [esp + 0x29]
mov cl, byte [esp + 0x28]
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
mov byte [esp + 0x24], al
mov al, byte [esp + 0x24]
test al, 1
jne 0x1003f6f1
jmp 0x1003f83f
mov eax, dword [0x1005fc68]
mov dword [esp + 0x18], eax
mov ecx, dword [0x1005fc64]
mov dword [esp + 0x1c], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
imul eax, ecx
and eax, 1
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
cmp ecx, 0
sete cl
cmp eax, 0xa
setl al
mov byte [esp + 0xd], al
mov ah, cl
xor ah, 0xff
mov byte [esp + 0xe], ah
xor al, 0xff
mov byte [esp + 0xf], al
mov dl, 1
xor dl, 0
mov byte [esp + 0x10], dl
and ah, 0
mov byte [esp + 0x11], ah
and cl, dl
mov byte [esp + 0x12], cl
and al, 0
mov byte [esp + 0x13], al
mov al, byte [esp + 0x13]
mov ah, byte [esp + 0x12]
mov dl, byte [esp + 0x11]
mov ch, byte [esp + 0x10]
mov cl, byte [esp + 0xd]
and cl, ch
or dl, ah
mov byte [esp + 0xb], dl
or al, cl
mov byte [esp + 0xc], al
mov cl, byte [esp + 0xc]
mov al, byte [esp + 0xb]
xor al, cl
mov byte [esp + 0xa], al
mov al, byte [esp + 0xa]
mov dl, byte [esp + 0x10]
mov ah, byte [esp + 0xf]
mov cl, byte [esp + 0xe]
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x1003f7bd
jmp 0x1003f83f
add esp, 0x7c
pop esi
pop ebx
ret
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x58]
mov al, byte [eax + ecx]
mov byte [esp + 9], al
mov eax, 0xbd60938e
add eax, 0
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 4]
sub eax, ecx
sub eax, 0xbd60938e
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x58]
mov esi, 0x13
xor edx, edx
div esi
mov al, byte [esp + 9]
mov cl, byte [ecx + edx]
mov byte [esp + 3], cl
add al, 0xae
sub al, cl
sub al, 0xae
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x58]
mov dh, byte [esp + 9]
mov bl, byte [esp + 3]
mov bh, dh
xor bh, 0xff
mov dl, bl
and dl, bh
xor bl, 0xff
and dh, bl
or dl, dh
mov byte [eax + ecx], dl
mov eax, 0xf8528ec4
add eax, 0
jmp 0x1003f4d1
jmp 0x1003f6f1