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

Disassembly:
push ebx
push esi
sub esp, 0xfc
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0xf0], eax
mov eax, dword [0x1006ad28]
mov dword [esp + 0xf4], eax
mov eax, dword [0x1006ad24]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xf4]
sub eax, 0x2913eec9
sub eax, 1
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xe8]
add edx, 0x2913eec9
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [esp + 0xe4], cl
cmp eax, 0xa
setl al
mov byte [esp + 0xe5], al
xor cl, 0xff
mov byte [esp + 0xe6], cl
xor al, 0xff
mov byte [esp + 0xe7], al
mov dl, byte [esp + 0xe5]
mov ch, byte [esp + 0xe7]
mov cl, byte [esp + 0xe4]
mov al, byte [esp + 0xe6]
mov ah, 1
xor ah, 0
mov byte [esp + 0xe0], ah
and al, 0
and cl, ah
and ch, 0
mov byte [esp + 0xe1], ch
and dl, ah
mov byte [esp + 0xe2], dl
or al, cl
mov byte [esp + 0xe3], al
mov cl, byte [esp + 0xe7]
mov al, byte [esp + 0xe6]
mov dl, byte [esp + 0xe3]
mov ch, byte [esp + 0xe2]
mov ah, byte [esp + 0xe1]
or ah, ch
xor dl, ah
mov byte [esp + 0xde], dl
or al, cl
xor al, 0xff
mov byte [esp + 0xdf], al
mov al, byte [esp + 0xde]
mov cl, byte [esp + 0xdf]
mov dl, byte [esp + 0xe0]
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x1003e62a
jmp 0x1003ef0f
mov eax, dword [0x1006ad28]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [0x1006ad24]
mov dword [esp + 0xd0], ecx
sub eax, 0x1a3bc91a
sub eax, 1
add eax, 0x1a3bc91a
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0xca], al
cmp ecx, 0xa
setl cl
mov byte [esp + 0xcb], cl
xor al, 0xff
mov byte [esp + 0xcc], al
xor cl, 0xff
mov byte [esp + 0xcd], cl
mov cl, 1
xor cl, 1
mov byte [esp + 0xce], cl
and al, 0xff
mov byte [esp + 0xcf], al
mov dl, byte [esp + 0xcf]
mov ch, byte [esp + 0xce]
mov cl, byte [esp + 0xcb]
mov al, byte [esp + 0xcd]
mov ah, byte [esp + 0xca]
and ah, ch
and al, 0xff
and cl, ch
or dl, ah
mov byte [esp + 0xc8], dl
or al, cl
mov byte [esp + 0xc9], al
mov cl, byte [esp + 0xcd]
mov al, byte [esp + 0xcc]
mov ah, byte [esp + 0xc9]
mov dl, byte [esp + 0xc8]
xor dl, ah
mov byte [esp + 0xc6], dl
or al, cl
xor al, 0xff
mov byte [esp + 0xc7], al
mov al, byte [esp + 0xc6]
mov cl, byte [esp + 0xc7]
mov dl, byte [esp + 0xce]
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x1003e74f
jmp 0x1003ef0f
mov eax, dword [0x1006ad28]
mov dword [esp + 0xbc], eax
mov eax, dword [0x1006ad24]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xbc]
sub eax, 0x8dd5a88
sub eax, 1
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
add edx, 0x8dd5a88
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [esp + 0xb6], cl
cmp eax, 0xa
setl al
mov byte [esp + 0xb7], al
mov cl, byte [esp + 0xb7]
mov al, byte [esp + 0xb6]
and al, cl
mov byte [esp + 0xb5], al
mov cl, byte [esp + 0xb7]
mov al, byte [esp + 0xb6]
xor al, cl
mov byte [esp + 0xb4], al
mov cl, byte [esp + 0xb4]
mov al, byte [esp + 0xb5]
or al, cl
test al, 1
jne 0x1003e803
jmp 0x1003ee40
mov eax, dword [esp + 0xec]
add eax, 0x17
mov dword [esp + 0xac], eax
mov eax, dword [0x100692fc]
mov eax, dword [eax - 0x44a45c30]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
cmp eax, 1
sete al
mov byte [esp + 0xa7], al
mov eax, dword [0x1006ad28]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [0x1006ad24]
mov dword [esp + 0x9c], ecx
sub eax, 0xffbf7e38
sub eax, 1
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xa0]
add edx, 0xffbf7e38
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [esp + 0x9a], dl
xor al, cl
mov byte [esp + 0x9b], al
mov cl, byte [esp + 0x9b]
mov al, byte [esp + 0x9a]
or al, cl
mov byte [esp + 0x99], al
mov al, byte [esp + 0x99]
test al, 1
jne 0x1003e8d5
jmp 0x1003ee40
mov cl, byte [esp + 0xa7]
xor eax, eax
test cl, 1
mov dword [esp + 0x94], eax
jne 0x1003ea9c
jmp 0x1003e8f3
mov eax, dword [esp + 0x94]
mov dword [esp + 0x90], eax
mov ecx, dword [0x1006ad28]
mov eax, dword [0x1006ad24]
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, 1
mov al, cl
and al, 0xff
and bl, dl
mov ch, ah
and ch, 0xff
and dh, dl
or al, bl
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x1003e962
jmp 0x1003ebdd
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0xac]
mov cl, byte [ecx + eax]
mov byte [esp + 0x8b], cl
mov ecx, 0x17
xor edx, edx
div ecx
mov eax, dword [esp + 0xec]
add eax, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x8c]
mov al, byte [eax]
mov byte [esp + 0x8a], al
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0xf0]
mov dh, byte [esp + 0x8b]
mov bl, byte [esp + 0x8a]
mov bh, dh
xor bh, 0xff
mov dl, bl
and dl, bh
xor bl, 0xff
and dh, bl
or dl, dh
mov byte [ecx + eax], dl
xor ecx, ecx
sub ecx, 1
sub eax, ecx
mov dword [esp + 0x7c], eax
cmp eax, 0x41
sete al
mov byte [esp + 0x83], al
mov eax, dword [0x1006ad28]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [0x1006ad24]
mov dword [esp + 0x74], ecx
sub eax, 0x99de1a33
sub eax, 1
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x78]
add ecx, 0x99de1a33
imul eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x1003ea57
jmp 0x1003ebdd
mov eax, dword [esp + 0x7c]
mov cl, byte [esp + 0x83]
test cl, 1
mov dword [esp + 0x94], eax
jne 0x1003ea77
jmp 0x1003e8f3
mov eax, dword [0x100692fc]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
add eax, 0xbb5ba3d0
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x68]
mov dword [eax], 1
jmp 0x1003ea9c
mov eax, dword [0x1006ad28]
mov dword [esp + 0x5c], eax
mov ecx, dword [0x1006ad24]
mov dword [esp + 0x60], ecx
add eax, 0x419bedb8
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x64]
sub eax, 1
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
sub edx, 0x419bedb8
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [esp + 0x56], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x57], al
mov cl, byte [esp + 0x57]
mov al, byte [esp + 0x56]
and al, cl
mov byte [esp + 0x55], al
mov al, byte [esp + 0x55]
mov dl, byte [esp + 0x57]
mov cl, byte [esp + 0x56]
xor cl, dl
or al, cl
mov byte [esp + 0x54], al
mov al, byte [esp + 0x54]
test al, 1
jne 0x1003eb22
jmp 0x1003ed5d
mov eax, dword [0x1006ad28]
mov dword [esp + 0x50], eax
mov eax, dword [0x1006ad24]
mov dword [esp + 0x48], eax
xor eax, eax
sub eax, 1
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete ah
cmp ecx, 0xa
setl cl
mov dl, ah
xor dl, 0xff
mov byte [esp + 0x43], dl
mov al, cl
xor al, 0xff
mov byte [esp + 0x44], al
mov ch, 1
xor ch, 0
mov byte [esp + 0x45], ch
and dl, 0
and ah, ch
and al, 0
and cl, ch
or dl, ah
mov byte [esp + 0x46], dl
or al, cl
mov byte [esp + 0x47], al
mov cl, byte [esp + 0x44]
mov al, byte [esp + 0x43]
mov ah, byte [esp + 0x47]
mov dl, byte [esp + 0x46]
xor dl, ah
mov byte [esp + 0x41], dl
or al, cl
xor al, 0xff
mov byte [esp + 0x42], al
mov al, byte [esp + 0x41]
mov cl, byte [esp + 0x42]
mov dl, byte [esp + 0x45]
or dl, 0
and cl, dl
or al, cl
mov byte [esp + 0x40], al
mov al, byte [esp + 0x40]
test al, 1
jne 0x1003ebd4
jmp 0x1003ed5d
add esp, 0xfc
pop esi
pop ebx
ret
mov eax, dword [0x1006ad28]
mov dword [esp + 0x38], eax
mov eax, dword [0x1006ad24]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
add eax, 0xe40fc14c
sub eax, 1
sub eax, 0xe40fc14c
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
imul eax, ecx
and eax, 1
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [esp + 0x2f], al
mov al, byte [esp + 0x2f]
test al, 1
jne 0x1003ec47
jmp 0x1003ee61
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0xac]
mov cl, byte [ecx + eax]
mov byte [esp + 0x2e], cl
xor ecx, ecx
sub ecx, 0xb8272c95
sub ecx, eax
add ecx, 0xb8272c95
xor eax, eax
sub eax, ecx
xor eax, eax
sub eax, 0x17
mov eax, dword [esp + 0x90]
sub eax, 0x811dc12f
sub eax, 0x17
add eax, 0x811dc12f
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0x90]
mov esi, 0x17
xor edx, edx
div esi
mov al, byte [esp + 0x2e]
mov cl, byte [ecx + edx]
mov byte [esp + 0x2c], cl
xor al, 0xff
mov byte [esp + 0x2d], al
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x90]
mov dh, byte [esp + 0x2e]
mov bl, byte [esp + 0x2c]
mov bh, byte [esp + 0x2d]
mov dl, bl
and dl, bh
xor bl, 0xff
and dh, bl
or dl, dh
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x90]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 1
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, dword [0x1006ad28]
mov eax, dword [0x1006ad24]
mov edx, ecx
add edx, 0x4c5dfef1
sub edx, 1
sub edx, 0x4c5dfef1
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 0x1003ed58
jmp 0x1003ee61
jmp 0x1003e962
mov eax, dword [0x1006ad28]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [0x1006ad24]
mov dword [esp + 0x20], ecx
sub eax, 0x6838c349
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
sub edx, 1
add edx, 0x6838c349
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [esp + 0x1e], dl
xor al, cl
mov byte [esp + 0x1f], al
mov cl, byte [esp + 0x1f]
mov al, byte [esp + 0x1e]
or al, cl
mov byte [esp + 0x1d], al
mov al, byte [esp + 0x1d]
test al, 1
jne 0x1003edd1
jmp 0x1003ef14
mov eax, dword [0x1006ad28]
mov dword [esp + 0x18], eax
mov eax, dword [0x1006ad24]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
add eax, 0xbf6aba89
sub eax, 1
sub eax, 0xbf6aba89
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0xf], al
mov cl, byte [esp + 0xf]
mov eax, dword [esp + 0x14]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [esp + 0xe], al
mov al, byte [esp + 0xe]
test al, 1
jne 0x1003ee3b
jmp 0x1003ef14
jmp 0x1003eb22
mov eax, dword [0x100692fc]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add eax, 0xbb5ba3d0
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov eax, dword [eax]
jmp 0x1003e803
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0xac]
mov al, byte [eax + ecx]
mov byte [esp + 3], al
xor eax, eax
sub eax, 0x882f9730
sub eax, ecx
add eax, 0x882f9730
mov eax, dword [esp + 0x90]
xor ecx, ecx
sub ecx, 0x17
add eax, ecx
mov eax, dword [esp + 0x90]
xor ecx, ecx
sub ecx, 0x17
add eax, ecx
mov eax, dword [esp + 0x90]
mov ecx, 0x17
xor edx, edx
div ecx
mov eax, dword [esp + 0xec]
mov al, byte [eax + edx]
mov byte [esp + 2], al
xor eax, eax
sub al, 0x3b
sub al, 0
add al, 0x3b
mov ecx, dword [esp + 0xf0]
mov bl, byte [esp + 2]
mov bh, byte [esp + 3]
mov dl, bh
xor dl, 0xff
and dl, 0x52
mov al, 0xff
xor al, 0x52
and bh, al
mov dh, bl
xor dh, 0xff
and dh, 0x52
and bl, al
mov eax, dword [esp + 0x90]
or dl, bh
or dh, bl
xor dl, dh
mov byte [ecx + eax], dl
sub eax, 0x79eb1aff
sub eax, 1
add eax, 0x79eb1aff
jmp 0x1003ec47
jmp 0x1003e62a
jmp 0x1003edd1