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

Disassembly:
push ebx
sub esp, 0xa4
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x9c], eax
mov eax, dword [0x10060c10]
mov dword [esp + 0xa0], eax
mov eax, dword [0x10060c0c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
sub eax, 0xb628b1c8
sub eax, 1
add eax, 0xb628b1c8
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0xa0]
imul eax, ecx
and eax, 1
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x8c]
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 + 0x8b], al
mov al, byte [esp + 0x8b]
test al, 1
jne 0x10043cce
jmp 0x10044083
mov eax, dword [esp + 0x98]
add eax, 0x1e
mov dword [esp + 0x80], eax
mov eax, dword [0x1005f38c]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
cmp dword [eax + 0x1ebdfbf1], 1
sete al
mov byte [esp + 0x7f], al
mov eax, dword [0x10060c10]
mov dword [esp + 0x70], eax
mov ecx, dword [0x10060c0c]
mov dword [esp + 0x74], ecx
sub eax, 0xe1bff596
sub eax, 1
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
add ecx, 0xe1bff596
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x6f], al
mov al, byte [esp + 0x6f]
mov ecx, dword [esp + 0x74]
cmp ecx, 0xa
setl cl
mov byte [esp + 0x69], cl
mov dl, al
xor dl, 0xff
mov byte [esp + 0x6a], dl
xor cl, 0xff
mov byte [esp + 0x6b], cl
mov cl, 1
xor cl, 1
mov byte [esp + 0x6c], cl
and dl, 0xff
mov byte [esp + 0x6d], dl
and al, cl
mov byte [esp + 0x6e], al
mov dl, byte [esp + 0x6c]
mov ah, byte [esp + 0x6b]
mov cl, byte [esp + 0x6a]
mov bl, byte [esp + 0x6e]
mov al, byte [esp + 0x6d]
mov dh, byte [esp + 0x69]
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 0x10043db3
jmp 0x10044083
mov cl, byte [esp + 0x7f]
xor eax, eax
test cl, 1
mov dword [esp + 0x64], eax
jne 0x10043f91
jmp 0x10043dcb
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov ecx, dword [0x10060c10]
mov eax, dword [0x10060c0c]
mov edx, ecx
sub edx, 0xe9bfc9e7
sub edx, 1
add edx, 0xe9bfc9e7
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 0x10043e3c
jmp 0x100440a9
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x80]
mov cl, byte [ecx + eax]
mov byte [esp + 0x5b], cl
mov ecx, 0x1e
xor edx, edx
div ecx
mov eax, dword [esp + 0x98]
add eax, edx
mov dword [esp + 0x5c], eax
mov ah, byte [esp + 0x5b]
mov ecx, dword [esp + 0x5c]
mov dl, byte [ecx]
mov al, ah
xor al, 0xff
and al, 3
mov ch, 0xff
xor ch, 3
and ah, ch
mov cl, dl
xor cl, 0xff
and cl, 3
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [esp + 0x5a], al
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x9c]
mov dl, byte [esp + 0x5a]
mov byte [eax + ecx], dl
xor eax, eax
sub eax, ecx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x54]
xor eax, eax
sub eax, 1
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [esp + 0x4c], eax
cmp eax, 0x1c
sete al
mov byte [esp + 0x53], al
mov eax, dword [0x10060c10]
mov ecx, dword [0x10060c0c]
mov edx, eax
add edx, 0xa2bcf06d
sub edx, 1
sub edx, 0xa2bcf06d
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 + 0x47], dl
mov al, cl
xor al, 0xff
mov byte [esp + 0x48], al
mov ch, 1
xor ch, 1
mov byte [esp + 0x49], ch
and dl, 0xff
and ah, ch
and al, 0xff
and cl, ch
or dl, ah
mov byte [esp + 0x4a], dl
or al, cl
mov byte [esp + 0x4b], al
mov dl, byte [esp + 0x49]
mov ah, byte [esp + 0x48]
mov cl, byte [esp + 0x47]
mov ch, byte [esp + 0x4b]
mov al, byte [esp + 0x4a]
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x10043f52
jmp 0x100440a9
mov eax, dword [esp + 0x4c]
mov cl, byte [esp + 0x53]
test cl, 1
mov dword [esp + 0x64], eax
jne 0x10043f6c
jmp 0x10043dcb
mov eax, dword [0x1005f38c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add eax, 0x1ebdfbf1
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov dword [eax], 1
jmp 0x10043f91
mov eax, dword [0x10060c10]
mov dword [esp + 0x38], eax
mov eax, dword [0x10060c0c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
mov ecx, eax
add ecx, 0x93ecc5ed
sub ecx, 1
sub ecx, 0x93ecc5ed
imul eax, ecx
and eax, 1
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
cmp eax, 0
sete al
mov byte [esp + 0x2f], al
mov cl, byte [esp + 0x2f]
mov eax, dword [esp + 0x34]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [esp + 0x2e], al
mov al, byte [esp + 0x2e]
test al, 1
jne 0x10043ffb
jmp 0x100440a4
mov eax, dword [0x10060c10]
mov dword [esp + 0x24], eax
mov eax, dword [0x10060c0c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
sub eax, 0xf5868619
sub eax, 1
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, 0xf5868619
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
imul eax, ecx
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x15], al
cmp ecx, 0xa
setl cl
mov byte [esp + 0x16], cl
and al, cl
mov byte [esp + 0x17], al
mov al, byte [esp + 0x17]
mov dl, byte [esp + 0x16]
mov cl, byte [esp + 0x15]
xor cl, dl
or al, cl
test al, 1
jne 0x1004407b
jmp 0x100440a4
add esp, 0xa4
pop ebx
ret
mov eax, dword [0x1005f38c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add eax, 0x1ebdfbf1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
jmp 0x10043cce
jmp 0x10043ffb
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x60]
mov al, byte [eax + ecx]
mov byte [esp + 0xb], al
mov ecx, dword [esp + 0x60]
xor eax, eax
sub eax, 0x76d248a0
sub eax, ecx
mov eax, dword [esp + 0x60]
mov ecx, 0x1e
xor edx, edx
div ecx
mov eax, dword [esp + 0x98]
add eax, edx
mov dword [esp + 4], eax
mov al, byte [esp + 0xb]
mov ecx, dword [esp + 4]
mov cl, byte [ecx]
mov byte [esp + 2], cl
sub al, 0xcb
sub al, cl
mov byte [esp + 3], al
mov al, byte [esp + 3]
add al, 0xcb
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x60]
mov dh, byte [esp + 0xb]
mov bl, byte [esp + 2]
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
jmp 0x10043e3c