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

Disassembly:
push ebx
push esi
sub esp, 0x134
mov eax, dword [esp + 0x144]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x124], eax
mov eax, dword [0x10063cc8]
mov dword [esp + 0x128], eax
mov ecx, dword [0x10063cc4]
mov dword [esp + 0x12c], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0x130]
mov eax, dword [esp + 0x128]
imul eax, ecx
and eax, 1
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x12c]
mov eax, dword [esp + 0x11c]
cmp eax, 0
sete al
mov byte [esp + 0x119], al
cmp ecx, 0xa
setl cl
mov byte [esp + 0x11a], cl
xor al, 0xff
mov byte [esp + 0x11b], al
mov al, byte [esp + 0x11a]
xor al, 0xff
mov byte [esp + 0x118], al
mov al, byte [esp + 0x119]
mov dl, byte [esp + 0x11b]
mov cl, 1
xor cl, 0
mov byte [esp + 0x115], cl
and dl, 0
mov byte [esp + 0x116], dl
and al, cl
mov byte [esp + 0x117], al
mov dl, byte [esp + 0x115]
mov ah, byte [esp + 0x118]
mov cl, byte [esp + 0x11b]
mov bl, byte [esp + 0x117]
mov al, byte [esp + 0x116]
mov dh, byte [esp + 0x11a]
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 0x1003c7a4
jmp 0x1003d30f
mov eax, dword [esp + 0x120]
add eax, 0x12
mov dword [esp + 0x10c], eax
mov eax, dword [0x1006232c]
add eax, 0x7c2ff0cf
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x110]
cmp dword [eax], 1
sete al
mov byte [esp + 0xff], al
mov eax, dword [0x10063cc8]
mov dword [esp + 0x100], eax
mov ecx, dword [0x10063cc4]
mov dword [esp + 0x104], ecx
add eax, 0x39e64538
sub eax, 1
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x108]
sub ecx, 0x39e64538
imul eax, ecx
and eax, 1
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0xf8]
cmp ecx, 0
sete cl
mov byte [esp + 0xf6], cl
cmp eax, 0xa
setl al
mov byte [esp + 0xf7], al
mov dl, byte [esp + 0xf7]
mov cl, byte [esp + 0xf6]
mov al, cl
xor al, 0xff
mov byte [esp + 0xf0], al
mov ch, dl
xor ch, 0xff
mov byte [esp + 0xf1], ch
mov ah, 1
xor ah, 1
mov byte [esp + 0xf2], ah
and al, 0xff
and cl, ah
and ch, 0xff
mov byte [esp + 0xf3], ch
and dl, ah
mov byte [esp + 0xf4], dl
or al, cl
mov byte [esp + 0xf5], al
mov dl, byte [esp + 0xf2]
mov ah, byte [esp + 0xf1]
mov cl, byte [esp + 0xf0]
mov al, byte [esp + 0xf5]
mov dh, byte [esp + 0xf4]
mov ch, byte [esp + 0xf3]
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 0x1003c8e3
jmp 0x1003d30f
mov cl, byte [esp + 0xff]
xor eax, eax
test cl, 1
mov dword [esp + 0xec], eax
jne 0x1003ce94
jmp 0x1003c901
mov eax, dword [esp + 0xec]
mov dword [esp + 0xe8], eax
mov ecx, dword [0x10063cc8]
mov eax, dword [0x10063cc4]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
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 0x1003c94a
jmp 0x1003ce9d
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0x10c]
add eax, ecx
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe4]
mov cl, byte [ecx]
mov byte [esp + 0xe1], cl
mov esi, 0x12
xor edx, edx
div esi
mov eax, dword [esp + 0x120]
mov al, byte [eax + edx]
mov byte [esp + 0xe2], al
xor cl, 0xff
and al, cl
mov byte [esp + 0xe3], al
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x124]
mov dl, byte [esp + 0xe3]
mov dh, byte [esp + 0xe1]
mov bl, byte [esp + 0xe2]
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 + 0xcc], eax
cmp eax, 0xd
sete al
mov byte [esp + 0xd3], al
mov eax, dword [0x10063cc8]
mov dword [esp + 0xd4], eax
mov ecx, dword [0x10063cc4]
mov dword [esp + 0xd8], ecx
add eax, 0x1579172c
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xdc]
sub ecx, 1
sub ecx, 0x1579172c
imul eax, ecx
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xc8]
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0xc5], al
cmp ecx, 0xa
setl cl
mov byte [esp + 0xc6], cl
and al, cl
mov byte [esp + 0xc7], al
mov al, byte [esp + 0xc7]
mov dl, byte [esp + 0xc6]
mov cl, byte [esp + 0xc5]
xor cl, dl
or al, cl
test al, 1
jne 0x1003ca86
jmp 0x1003ce9d
mov eax, dword [esp + 0xcc]
mov cl, byte [esp + 0xd3]
test cl, 1
mov dword [esp + 0xec], eax
jne 0x1003caa9
jmp 0x1003c901
mov eax, dword [0x10063cc8]
mov dword [esp + 0xb8], eax
mov eax, dword [0x10063cc4]
mov dword [esp + 0xbc], eax
xor eax, eax
sub eax, 1
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb8]
mov esi, dword [esp + 0xc0]
mov edx, ecx
add edx, esi
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 al, byte [esp + 0xb7]
mov cl, byte [esp + 0xb6]
xor cl, 0xff
mov byte [esp + 0xb4], cl
xor al, 0xff
mov byte [esp + 0xb5], al
mov dl, byte [esp + 0xb7]
mov cl, byte [esp + 0xb5]
mov ah, byte [esp + 0xb6]
mov al, byte [esp + 0xb4]
mov ch, 1
xor ch, 0
mov byte [esp + 0xb2], ch
and al, 0
and ah, ch
and cl, 0
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [esp + 0xb3], al
mov al, byte [esp + 0xb3]
mov dl, byte [esp + 0xb2]
mov ah, byte [esp + 0xb5]
mov cl, byte [esp + 0xb4]
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
mov byte [esp + 0xb1], al
mov al, byte [esp + 0xb1]
test al, 1
jne 0x1003cba8
jmp 0x1003d2e5
mov eax, dword [0x10063cc8]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xac]
mov ecx, dword [0x10063cc4]
mov dword [esp + 0xa4], ecx
sub eax, 0xd76787e7
sub eax, 1
add eax, 0xd76787e7
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [esp + 0xa0], cl
cmp eax, 0xa
setl al
mov byte [esp + 0xa1], al
xor cl, 0xff
mov byte [esp + 0xa2], cl
xor al, 0xff
mov byte [esp + 0xa3], al
mov al, byte [esp + 0xa2]
mov cl, 1
xor cl, 0
mov byte [esp + 0x9e], cl
and al, 0
mov byte [esp + 0x9f], al
mov al, byte [esp + 0xa3]
mov dl, byte [esp + 0x9e]
mov cl, byte [esp + 0xa0]
and cl, dl
mov byte [esp + 0x9c], cl
and al, 0
mov byte [esp + 0x9d], al
mov dl, byte [esp + 0x9e]
mov ah, byte [esp + 0xa3]
mov cl, byte [esp + 0xa2]
mov ch, byte [esp + 0x9d]
mov bl, byte [esp + 0x9c]
mov al, byte [esp + 0x9f]
mov dh, byte [esp + 0xa1]
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 0x1003ccb9
jmp 0x1003d2e5
mov eax, dword [0x10063cc8]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x98]
mov eax, dword [0x10063cc4]
mov edx, ecx
sub edx, 0x841f9510
sub edx, 1
add edx, 0x841f9510
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete dh
cmp eax, 0xa
setl ch
mov al, dh
xor al, 0xff
mov cl, ch
xor cl, 0xff
mov bl, 1
xor bl, 1
mov byte [esp + 0x95], bl
mov dl, al
and dl, 0xff
and dh, bl
mov ah, cl
and ah, 0xff
and ch, bl
or dl, dh
or ah, ch
xor dl, ah
mov byte [esp + 0x96], dl
or al, cl
mov byte [esp + 0x97], al
mov al, byte [esp + 0x97]
xor al, 0xff
mov byte [esp + 0x94], al
mov al, byte [esp + 0x96]
mov cl, byte [esp + 0x94]
mov dl, byte [esp + 0x95]
or dl, 1
and cl, dl
or al, cl
mov byte [esp + 0x93], al
mov al, byte [esp + 0x93]
test al, 1
jne 0x1003cd74
jmp 0x1003d00e
mov eax, dword [0x1006232c]
mov dword [eax + 0x7c2ff0cf], 1
mov eax, dword [0x10063cc8]
mov dword [esp + 0x88], eax
mov eax, dword [0x10063cc4]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov edx, eax
add edx, 0x6805a0b6
sub edx, 1
sub edx, 0x6805a0b6
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov byte [esp + 0x82], cl
mov dl, al
xor dl, 0xff
mov byte [esp + 0x83], dl
xor cl, 0xff
mov byte [esp + 0x84], cl
mov cl, 1
xor cl, 0
mov byte [esp + 0x85], cl
and dl, 0
mov byte [esp + 0x86], dl
and al, cl
mov byte [esp + 0x87], al
mov al, byte [esp + 0x84]
and al, 0
mov byte [esp + 0x81], al
mov cl, byte [esp + 0x87]
mov al, byte [esp + 0x86]
mov ah, byte [esp + 0x85]
mov dl, byte [esp + 0x82]
and dl, ah
mov byte [esp + 0x7f], dl
or al, cl
mov byte [esp + 0x80], al
mov dl, byte [esp + 0x85]
mov ah, byte [esp + 0x84]
mov cl, byte [esp + 0x83]
mov al, byte [esp + 0x80]
mov dh, byte [esp + 0x7f]
mov ch, byte [esp + 0x81]
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
mov byte [esp + 0x7e], al
mov al, byte [esp + 0x7e]
test al, 1
jne 0x1003ce8f
jmp 0x1003d00e
jmp 0x1003ce94
add esp, 0x134
pop esi
pop ebx
ret
mov eax, dword [0x10063cc8]
mov ecx, dword [0x10063cc4]
mov edx, eax
add edx, 0x734e09f2
sub edx, 1
sub edx, 0x734e09f2
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x7b], al
cmp ecx, 0xa
setl cl
mov byte [esp + 0x7c], cl
xor al, 0xff
mov byte [esp + 0x7d], al
mov al, byte [esp + 0x7c]
xor al, 0xff
mov byte [esp + 0x7a], al
mov cl, byte [esp + 0x7a]
mov al, byte [esp + 0x7d]
mov ch, byte [esp + 0x7c]
mov dh, byte [esp + 0x7b]
mov bl, 1
xor bl, 0
mov byte [esp + 0x77], bl
mov dl, al
and dl, 0
and dh, bl
mov ah, cl
and ah, 0
and ch, bl
or dl, dh
or ah, ch
xor dl, ah
mov byte [esp + 0x78], dl
or al, cl
mov byte [esp + 0x79], al
mov al, byte [esp + 0x79]
xor al, 0xff
mov byte [esp + 0x76], al
mov al, byte [esp + 0x78]
mov cl, byte [esp + 0x76]
mov dl, byte [esp + 0x77]
or dl, 0
and cl, dl
or al, cl
mov byte [esp + 0x75], al
mov al, byte [esp + 0x75]
test al, 1
jne 0x1003cf4c
jmp 0x1003d330
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x10c]
mov cl, byte [ecx + eax]
mov byte [esp + 0x73], cl
mov esi, 0x12
xor edx, edx
div esi
mov eax, dword [esp + 0x120]
mov al, byte [eax + edx]
mov byte [esp + 0x74], al
xor eax, eax
sub al, 0x71
sub al, cl
add al, 0x71
mov cl, byte [esp + 0x73]
xor eax, eax
sub al, 0xb3
sub al, cl
mov ecx, dword [esp + 0x124]
mov bl, byte [esp + 0x74]
mov bh, byte [esp + 0x73]
mov dl, bh
xor dl, 0xff
and dl, 2
mov al, 0xff
xor al, 2
and bh, al
mov dh, bl
xor dh, 0xff
and dh, 2
and bl, al
mov eax, dword [esp + 0xe8]
or dl, bh
or dh, bl
xor dl, dh
mov byte [ecx + eax], dl
add eax, 0x91e252c0
add eax, 1
sub eax, 0x91e252c0
mov ecx, dword [0x10063cc8]
mov eax, dword [0x10063cc4]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
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 0x1003d009
jmp 0x1003d330
jmp 0x1003c94a
mov eax, dword [0x10063cc8]
mov dword [esp + 0x64], eax
mov ecx, dword [0x10063cc4]
mov dword [esp + 0x68], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x64]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [esp + 0x5f], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x60], al
xor cl, 0xff
mov byte [esp + 0x61], cl
xor al, 0xff
mov byte [esp + 0x62], al
mov al, 1
xor al, 0
mov byte [esp + 0x63], al
mov ch, byte [esp + 0x63]
mov dl, byte [esp + 0x60]
mov cl, byte [esp + 0x62]
mov ah, byte [esp + 0x5f]
mov al, byte [esp + 0x61]
and al, 0
and ah, ch
and cl, 0
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [esp + 0x5e], al
mov al, byte [esp + 0x5e]
mov dl, byte [esp + 0x63]
mov ah, byte [esp + 0x62]
mov cl, byte [esp + 0x61]
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
mov byte [esp + 0x5d], al
mov al, byte [esp + 0x5d]
test al, 1
jne 0x1003d0bf
jmp 0x1003d2ea
mov eax, dword [0x1006232c]
mov dword [eax + 0x7c2ff0cf], 1
mov eax, dword [0x10063cc8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [0x10063cc4]
mov dword [esp + 0x50], ecx
sub eax, 0x6b4065b
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
sub eax, 1
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
add eax, 0x6b4065b
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x58]
imul eax, ecx
and eax, 1
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
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 0x1003d141
jmp 0x1003d2ea
mov eax, dword [0x10063cc8]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [0x10063cc4]
mov dword [esp + 0x38], ecx
sub eax, 0xc2fdbc38
sub eax, 1
add eax, 0xc2fdbc38
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [esp + 0x33], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x34], al
xor cl, 0xff
mov byte [esp + 0x35], cl
xor al, 0xff
mov byte [esp + 0x36], al
mov al, 1
xor al, 0
mov byte [esp + 0x37], al
mov ah, byte [esp + 0x37]
mov dl, byte [esp + 0x34]
mov ch, byte [esp + 0x36]
mov cl, byte [esp + 0x33]
mov al, byte [esp + 0x35]
and al, 0
and cl, ah
and ch, 0
mov byte [esp + 0x30], ch
and dl, ah
mov byte [esp + 0x31], dl
or al, cl
mov byte [esp + 0x32], al
mov cl, byte [esp + 0x36]
mov al, byte [esp + 0x35]
mov dl, byte [esp + 0x32]
mov ch, byte [esp + 0x31]
mov ah, byte [esp + 0x30]
or ah, ch
xor dl, ah
mov byte [esp + 0x2e], dl
or al, cl
mov byte [esp + 0x2f], al
mov al, byte [esp + 0x2e]
mov dl, byte [esp + 0x37]
mov cl, byte [esp + 0x2f]
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x1003d214
jmp 0x1003d3c4
mov eax, dword [0x10063cc8]
mov dword [esp + 0x20], eax
mov ecx, dword [0x10063cc4]
mov dword [esp + 0x24], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x1f], al
mov ah, byte [esp + 0x1f]
mov ecx, dword [esp + 0x24]
cmp ecx, 0xa
setl al
mov ch, ah
xor ch, 0xff
mov byte [esp + 0x18], ch
mov dl, al
xor dl, 0xff
mov byte [esp + 0x19], dl
mov cl, 1
xor cl, 0
mov byte [esp + 0x1a], cl
and ch, 0
mov byte [esp + 0x1b], ch
and ah, cl
mov byte [esp + 0x1c], ah
and dl, 0
mov byte [esp + 0x1d], dl
and al, cl
mov byte [esp + 0x1e], al
mov cl, byte [esp + 0x19]
mov al, byte [esp + 0x18]
mov ch, byte [esp + 0x1e]
mov ah, byte [esp + 0x1d]
mov dh, byte [esp + 0x1c]
mov dl, byte [esp + 0x1b]
or dl, dh
or ah, ch
xor dl, ah
mov byte [esp + 0x16], dl
or al, cl
mov byte [esp + 0x17], al
mov al, byte [esp + 0x16]
mov dl, byte [esp + 0x1a]
mov cl, byte [esp + 0x17]
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
mov byte [esp + 0x15], al
mov al, byte [esp + 0x15]
test al, 1
jne 0x1003d2e0
jmp 0x1003d3c4
jmp 0x1003cd74
jmp 0x1003cba8
mov eax, dword [0x1006232c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add eax, 0x7c2ff0cf
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov dword [eax], 1
jmp 0x1003d0bf
mov eax, dword [0x1006232c]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add eax, 0x7c2ff0cf
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov eax, dword [eax]
jmp 0x1003c7a4
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x10c]
mov cl, byte [ecx + eax]
mov byte [esp + 3], cl
add eax, 0x561f7a4d
sub eax, 0x12
sub eax, 0x561f7a4d
mov eax, dword [esp + 0xe8]
mov ecx, 0x12
xor edx, edx
div ecx
mov eax, dword [esp + 0x120]
mov al, byte [eax + edx]
mov byte [esp + 2], al
mov cl, byte [esp + 3]
xor eax, eax
sub al, 0x99
sub al, cl
add al, 0x99
mov cl, byte [esp + 3]
xor eax, eax
sub al, 0xab
sub al, cl
add al, 0xab
mov ecx, dword [esp + 0xe8]
mov bl, byte [esp + 2]
mov bh, byte [esp + 3]
mov dl, bh
xor dl, 0xff
and dl, 0x85
mov al, 0xff
xor al, 0x85
and bh, al
mov dh, bl
xor dh, 0xff
and dh, 0x85
and bl, al
mov eax, dword [esp + 0x124]
or dl, bh
or dh, bl
xor dl, dh
mov byte [eax + ecx], dl
jmp 0x1003cf4c
jmp 0x1003d214