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

Disassembly:
push ebx
sub esp, 0x88
mov eax, dword [esp + 0x94]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x80], ecx
add eax, 0x16
mov dword [esp + 0x84], eax
mov eax, dword [0x1005e36c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
add eax, 0xf34d79c6
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
cmp eax, 1
sete al
mov byte [esp + 0x6f], al
mov cl, byte [esp + 0x6f]
xor eax, eax
test cl, 1
mov dword [esp + 0x68], eax
jne 0x1004064c
jmp 0x10040460
mov eax, dword [esp + 0x68]
mov dword [esp + 0x64], eax
mov ecx, dword [0x1005fc58]
mov eax, dword [0x1005fc54]
mov edx, ecx
sub edx, 0xf82d8104
sub edx, 1
add edx, 0xf82d8104
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 0x100404d1
jmp 0x100407b0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x84]
mov cl, byte [ecx + eax]
mov byte [esp + 0x62], cl
mov ecx, 0x16
xor edx, edx
div ecx
mov eax, dword [esp + 0x7c]
mov al, byte [eax + edx]
mov byte [esp + 0x63], al
mov dl, byte [esp + 0x63]
mov ah, byte [esp + 0x62]
mov al, ah
xor al, 0xff
and al, 0x70
mov ch, 0xff
xor ch, 0x70
and ah, ch
mov cl, dl
xor cl, 0xff
and cl, 0x70
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [esp + 0x61], al
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x80]
mov dl, byte [esp + 0x61]
mov byte [ecx + eax], dl
add eax, 0x36ce8500
add eax, 1
sub eax, 0x36ce8500
mov dword [esp + 0x4c], eax
cmp eax, 2
sete al
mov byte [esp + 0x53], al
mov eax, dword [0x1005fc58]
mov dword [esp + 0x54], eax
mov ecx, dword [0x1005fc54]
mov dword [esp + 0x58], ecx
add eax, 0x884eeec
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x5c]
sub edx, 1
sub edx, 0x884eeec
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
xor al, 0xff
mov byte [esp + 0x46], al
mov ch, dl
xor ch, 0xff
mov byte [esp + 0x47], ch
mov ah, 1
xor ah, 1
mov byte [esp + 0x48], ah
and al, 0xff
and cl, ah
and ch, 0xff
mov byte [esp + 0x49], ch
and dl, ah
mov byte [esp + 0x4a], dl
or al, cl
mov byte [esp + 0x4b], al
mov al, byte [esp + 0x48]
mov dl, byte [esp + 0x47]
mov cl, byte [esp + 0x46]
mov ah, byte [esp + 0x4b]
mov dh, byte [esp + 0x4a]
mov ch, byte [esp + 0x49]
or ch, dh
xor ah, ch
mov byte [esp + 0x43], ah
or cl, dl
xor cl, 0xff
mov byte [esp + 0x44], cl
or al, 1
mov byte [esp + 0x45], al
mov al, byte [esp + 0x43]
mov dl, byte [esp + 0x45]
mov cl, byte [esp + 0x44]
and cl, dl
or al, cl
test al, 1
jne 0x1004060d
jmp 0x100407b0
mov eax, dword [esp + 0x4c]
mov cl, byte [esp + 0x53]
test cl, 1
mov dword [esp + 0x68], eax
jne 0x10040627
jmp 0x10040460
mov eax, dword [0x1005e36c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
add eax, 0xf34d79c6
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [eax], 1
jmp 0x1004064c
mov eax, dword [0x1005fc58]
mov dword [esp + 0x2c], eax
mov ecx, dword [0x1005fc54]
mov dword [esp + 0x30], ecx
add eax, 0xedd17283
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
sub eax, 1
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
sub edx, 0xedd17283
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov byte [esp + 0x22], cl
mov dl, al
xor dl, 0xff
mov byte [esp + 0x23], dl
xor cl, 0xff
mov byte [esp + 0x24], cl
mov cl, 1
xor cl, 0
mov byte [esp + 0x25], cl
and dl, 0
mov byte [esp + 0x26], dl
and al, cl
mov byte [esp + 0x27], al
mov al, byte [esp + 0x24]
and al, 0
mov byte [esp + 0x21], al
mov al, byte [esp + 0x21]
mov ah, byte [esp + 0x27]
mov dl, byte [esp + 0x26]
mov ch, byte [esp + 0x25]
mov cl, byte [esp + 0x22]
and cl, ch
or dl, ah
mov byte [esp + 0x1f], dl
or al, cl
mov byte [esp + 0x20], al
mov dl, byte [esp + 0x25]
mov ah, byte [esp + 0x24]
mov cl, byte [esp + 0x23]
mov ch, byte [esp + 0x20]
mov al, byte [esp + 0x1f]
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x1004071c
jmp 0x100407ab
mov eax, dword [0x1005fc58]
mov dword [esp + 0x10], eax
mov ecx, dword [0x1005fc54]
mov dword [esp + 0x14], ecx
add eax, 0x60c38383
sub eax, 1
sub eax, 0x60c38383
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
imul eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
and eax, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
cmp ecx, 0
sete cl
mov byte [esp + 6], cl
cmp eax, 0xa
setl al
mov byte [esp + 7], al
mov cl, byte [esp + 7]
mov al, byte [esp + 6]
mov dl, al
and dl, cl
mov byte [esp + 4], dl
xor al, cl
mov byte [esp + 5], al
mov cl, byte [esp + 5]
mov al, byte [esp + 4]
or al, cl
test al, 1
jne 0x100407a3
jmp 0x100407ab
add esp, 0x88
pop ebx
ret
jmp 0x1004071c
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x84]
mov al, byte [eax + ecx]
mov byte [esp + 3], al
xor eax, eax
sub eax, 0x3058ba79
sub eax, ecx
add eax, 0x3058ba79
mov eax, dword [esp + 0x64]
mov ecx, 0x16
xor edx, edx
div ecx
mov eax, dword [esp + 0x7c]
mov al, byte [eax + edx]
mov byte [esp + 2], al
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x80]
mov dh, byte [esp + 3]
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
xor eax, eax
sub eax, 0x418babff
sub eax, ecx
mov ecx, dword [esp + 0x64]
mov eax, 0xc2c4c306
add eax, 0
sub eax, ecx
sub eax, 0xc2c4c306
jmp 0x100404d1