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

Disassembly:
push ebx
push edi
push esi
sub esp, 0xf0
mov eax, dword [esp + 0x104]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0xe0], eax
mov eax, dword [0x10068c88]
mov dword [esp + 0xe4], eax
mov ecx, dword [0x10068c84]
mov dword [esp + 0xe8], ecx
sub eax, 0xbe8bd760
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xec]
sub eax, 1
add eax, 0xbe8bd760
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xe4]
imul eax, ecx
and eax, 1
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xd4]
cmp eax, 0
sete al
mov byte [esp + 0xd3], al
mov eax, dword [esp + 0xe8]
cmp eax, 0xa
setl al
mov byte [esp + 0xd2], al
mov dh, byte [esp + 0xd2]
mov bl, byte [esp + 0xd3]
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 0x1004547c
jmp 0x100459fc
mov eax, dword [esp + 0xdc]
add eax, 0x13
mov dword [esp + 0xc8], eax
mov eax, dword [0x1006734c]
mov eax, dword [eax - 0x61c45d9d]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xcc]
cmp eax, 1
sete al
mov byte [esp + 0xbb], al
mov eax, dword [0x10068c88]
mov dword [esp + 0xbc], eax
mov ecx, dword [0x10068c84]
mov dword [esp + 0xc0], ecx
sub eax, 0xbe55e783
sub eax, 1
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc4]
add eax, 0xbe55e783
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xbc]
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
mov byte [esp + 0xb3], al
mov al, byte [esp + 0xb3]
test al, 1
jne 0x10045538
jmp 0x100459fc
mov cl, byte [esp + 0xbb]
xor eax, eax
test cl, 1
mov dword [esp + 0xac], eax
jne 0x1004571c
jmp 0x10045556
mov eax, dword [esp + 0xac]
mov dword [esp + 0xa8], eax
mov ecx, dword [0x10068c88]
mov eax, dword [0x10068c84]
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 0x1004559f
jmp 0x10045add
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xe0]
mov esi, dword [esp + 0xdc]
mov edx, dword [esp + 0xa4]
mov dl, byte [edx]
mov byte [esp + 0x93], dl
mov edi, 0x13
xor edx, edx
div edi
mov eax, dword [esp + 0xa8]
mov edi, edx
mov dh, byte [esp + 0x93]
mov bl, byte [esi + edi]
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
add eax, 0x6977e1f4
add eax, 1
sub eax, 0x6977e1f4
mov dword [esp + 0x94], eax
cmp eax, 0xc
sete al
mov byte [esp + 0x9b], al
mov eax, dword [0x10068c88]
mov ecx, dword [0x10068c84]
mov dword [esp + 0x9c], ecx
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
and eax, 1
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
cmp ecx, 0
sete cl
mov byte [esp + 0x91], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x92], al
mov cl, byte [esp + 0x92]
mov al, byte [esp + 0x91]
mov dl, al
and dl, cl
mov byte [esp + 0x8f], dl
xor al, cl
mov byte [esp + 0x90], al
mov cl, byte [esp + 0x90]
mov al, byte [esp + 0x8f]
or al, cl
mov byte [esp + 0x8e], al
mov al, byte [esp + 0x8e]
test al, 1
jne 0x100456c8
jmp 0x10045add
mov eax, dword [esp + 0x94]
mov cl, byte [esp + 0x9b]
test cl, 1
mov dword [esp + 0xac], eax
jne 0x100456eb
jmp 0x10045556
mov eax, dword [0x1006734c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
add eax, 0x9e3ba263
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
mov dword [eax], 1
jmp 0x1004571c
mov eax, dword [0x10068c88]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [0x10068c84]
mov dword [esp + 0x78], ecx
sub eax, 0x9ffc376b
sub eax, 1
add eax, 0x9ffc376b
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
imul eax, ecx
and eax, 1
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
cmp ecx, 0
sete cl
mov byte [esp + 0x70], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x71], al
xor cl, 0xff
mov byte [esp + 0x72], cl
xor al, 0xff
mov byte [esp + 0x73], al
mov al, byte [esp + 0x71]
mov dl, byte [esp + 0x73]
mov ah, byte [esp + 0x70]
mov ch, byte [esp + 0x72]
mov cl, 1
xor cl, 0
mov byte [esp + 0x6b], cl
and ch, 0
mov byte [esp + 0x6c], ch
and ah, cl
mov byte [esp + 0x6d], ah
and dl, 0
mov byte [esp + 0x6e], dl
and al, cl
mov byte [esp + 0x6f], al
mov dl, byte [esp + 0x6b]
mov ah, byte [esp + 0x73]
mov cl, byte [esp + 0x72]
mov dh, byte [esp + 0x6f]
mov ch, byte [esp + 0x6e]
mov bl, byte [esp + 0x6d]
mov al, byte [esp + 0x6c]
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 0x100457f6
jmp 0x10045b6b
mov eax, dword [0x10068c88]
mov ecx, dword [0x10068c84]
mov edx, eax
sub edx, 0x394d2034
sub edx, 1
add edx, 0x394d2034
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x68], al
cmp ecx, 0xa
setl cl
mov byte [esp + 0x69], cl
xor al, 0xff
mov byte [esp + 0x6a], al
mov al, byte [esp + 0x69]
xor al, 0xff
mov byte [esp + 0x66], al
mov al, 1
xor al, 1
mov byte [esp + 0x67], al
mov cl, byte [esp + 0x67]
mov al, byte [esp + 0x68]
mov dl, byte [esp + 0x6a]
and dl, 0xff
mov byte [esp + 0x64], dl
and al, cl
mov byte [esp + 0x65], al
mov cl, byte [esp + 0x67]
mov al, byte [esp + 0x69]
mov dl, byte [esp + 0x66]
and dl, 0xff
mov byte [esp + 0x62], dl
and al, cl
mov byte [esp + 0x63], al
mov cl, byte [esp + 0x65]
mov al, byte [esp + 0x64]
or al, cl
mov byte [esp + 0x61], al
mov dl, byte [esp + 0x67]
mov ah, byte [esp + 0x66]
mov cl, byte [esp + 0x6a]
mov al, byte [esp + 0x61]
mov dh, byte [esp + 0x63]
mov ch, byte [esp + 0x62]
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 0x100458b9
jmp 0x10045b6b
mov eax, dword [0x10068c88]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [0x10068c84]
mov dword [esp + 0x54], ecx
mov ecx, eax
sub ecx, 0x4172f806
sub ecx, 1
add ecx, 0x4172f806
imul eax, ecx
and eax, 1
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
cmp ecx, 0
sete cl
mov byte [esp + 0x4f], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x50], al
xor cl, 0xff
mov byte [esp + 0x51], cl
xor al, 0xff
mov byte [esp + 0x52], al
mov al, 1
xor al, 1
mov byte [esp + 0x53], al
mov cl, byte [esp + 0x52]
mov al, byte [esp + 0x51]
mov bl, byte [esp + 0x53]
mov ch, byte [esp + 0x50]
mov dh, byte [esp + 0x4f]
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 + 0x4d], dl
or al, cl
mov byte [esp + 0x4e], al
mov al, byte [esp + 0x53]
mov cl, byte [esp + 0x4e]
xor cl, 0xff
mov byte [esp + 0x4b], cl
or al, 1
mov byte [esp + 0x4c], al
mov al, byte [esp + 0x4d]
mov dl, byte [esp + 0x4c]
mov cl, byte [esp + 0x4b]
and cl, dl
or al, cl
test al, 1
jne 0x10045980
jmp 0x10045ad8
mov eax, dword [0x10068c88]
mov dword [esp + 0x40], eax
mov eax, dword [0x10068c84]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x40]
sub eax, 0xd1787ad1
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
sub eax, 1
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
add eax, 0xd1787ad1
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
imul eax, ecx
and eax, 1
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
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
test al, 1
jne 0x100459f2
jmp 0x10045ad8
add esp, 0xf0
pop esi
pop edi
pop ebx
ret
mov eax, dword [0x10068c88]
mov dword [esp + 0x24], eax
mov eax, dword [0x10068c84]
mov dword [esp + 0x28], eax
xor eax, eax
sub eax, 1
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
add eax, ecx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
imul eax, ecx
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x19], al
cmp ecx, 0xa
setl cl
mov byte [esp + 0x1a], cl
and al, cl
mov byte [esp + 0x1b], al
mov al, byte [esp + 0x1b]
mov dl, byte [esp + 0x1a]
mov cl, byte [esp + 0x19]
xor cl, dl
or al, cl
mov byte [esp + 0x18], al
mov al, byte [esp + 0x18]
test al, 1
jne 0x10045a7e
jmp 0x10045b70
mov eax, dword [0x1006734c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax - 0x61c45d9d]
mov eax, dword [0x10068c88]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [0x10068c84]
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 0x10045ad3
jmp 0x10045b70
jmp 0x1004547c
jmp 0x10045980
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xc8]
mov cl, byte [ecx + eax]
mov byte [esp + 0xb], cl
mov ecx, 0x13
xor edx, edx
div ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xc]
mov al, byte [eax + ecx]
mov byte [esp + 0xa], al
mov cl, byte [esp + 0xb]
xor eax, eax
sub al, cl
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0xe0]
mov dh, byte [esp + 0xb]
mov bl, byte [esp + 0xa]
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
xor eax, eax
sub eax, 0xbf1e4d10
sub eax, ecx
add eax, 0xbf1e4d10
add eax, 0xa2cdcaf4
add eax, 1
mov ecx, dword [esp + 0xa8]
xor eax, eax
sub eax, ecx
add eax, 0
jmp 0x1004559f
jmp 0x100457f6
mov eax, dword [0x1006734c]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add eax, 0x9e3ba263
mov dword [esp], eax
mov eax, dword [esp]
mov eax, dword [eax]
jmp 0x10045a7e