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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x2d8
mov eax, dword [ebp + 8]
mov dword [esp + 0x2cc], eax
cmp dword [0x10151624], 0
je 0x1009e96b
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0xc4e81460
sub esi, 1
sub esi, 0xc4e81460
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x1009e8e2
jmp 0x1009f48c
lea eax, [esp + 0xc4]
mov ecx, dword [0x10151624]
mov edx, dword [esp + 0x2cc]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], edx
mov dword [esi + 8], 0x104
call ecx
sub esp, 0xc
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0x1c8c96c0
sub esi, 1
sub esi, 0x1c8c96c0
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
test cl, 1
mov dword [esp + 0x78], eax
jne 0x1009e95e
jmp 0x1009f48c
mov eax, dword [esp + 0x78]
mov dword [esp + 0x74], eax
jmp 0x1009e979
mov eax, 0
mov dword [esp + 0x74], eax
jmp 0x1009e979
mov eax, dword [esp + 0x74]
cmp eax, 0
jne 0x1009e995
mov byte [esp + 0x2d3], 0
jmp 0x1009f389
cmp dword [0x10150118], 0
je 0x1009eabd
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0xfcd1c4dd
sub esi, 1
add esi, 0xfcd1c4dd
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x1009ea1b
jmp 0x1009f4bc
lea eax, [esp + 0xc4]
mov ecx, dword [0x10151468]
mov edx, esp
mov dword [edx], eax
mov dword [edx + 0x18], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x10], 3
mov dword [edx + 0xc], 0
mov dword [edx + 8], 1
mov dword [edx + 4], 0x80000000
call ecx
sub esp, 0x1c
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0x18decb36
sub esi, 1
add esi, 0x18decb36
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
test cl, 1
mov dword [esp + 0x70], eax
jne 0x1009eab0
jmp 0x1009f4bc
mov eax, dword [esp + 0x70]
mov dword [esp + 0x6c], eax
jmp 0x1009eacb
mov eax, 0xffffffff
mov dword [esp + 0x6c], eax
jmp 0x1009eacb
mov eax, dword [esp + 0x6c]
mov ecx, 0xffffffff
mov dword [esp + 0xbc], eax
cmp dword [esp + 0xbc], ecx
jne 0x1009eb8c
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
add edx, 0x209f23d7
sub edx, 1
sub edx, 0x209f23d7
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x1009eb35
jmp 0x1009f505
mov eax, 0
mov byte [esp + 0x2d3], 0
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x1009eb87
jmp 0x1009f505
jmp 0x1009f389
cmp dword [0x101515c8], 0
je 0x1009ebdd
mov eax, dword [0x101515c8]
mov ecx, dword [esp + 0xbc]
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 0x14], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0xc], 0
mov dword [edx + 8], 2
mov dword [edx + 4], 0
call eax
sub esp, 0x18
mov dword [esp + 0x68], eax
jmp 0x1009ebeb
mov eax, 0
mov dword [esp + 0x68], eax
jmp 0x1009ebeb
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb8], eax
cmp eax, 0
jne 0x1009eccc
mov al, 1
mov ecx, 0
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
sub ecx, 1
mov edi, edx
add edi, ecx
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x1009ec72
jmp 0x1009f512
mov byte [esp + 0x2d3], 0
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
add edx, 0xbd130d6c
sub edx, 1
sub edx, 0xbd130d6c
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x1009ecc7
jmp 0x1009f512
jmp 0x1009f389
cmp dword [0x1014ff88], 0
je 0x1009ed16
mov eax, dword [0x10151c88]
mov ecx, dword [esp + 0xb8]
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 0x10], 0
mov dword [edx + 0xc], 0
mov dword [edx + 8], 0
mov dword [edx + 4], 4
call eax
sub esp, 0x14
mov dword [esp + 0x64], eax
jmp 0x1009ee10
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0x1cc78f13
sub esi, 1
add esi, 0x1cc78f13
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x1009ed8c
jmp 0x1009f51f
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0xd0ce1c60
sub esi, 1
sub esi, 0xd0ce1c60
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x1009ee02
jmp 0x1009f51f
mov eax, 0
mov dword [esp + 0x64], eax
jmp 0x1009ee10
mov eax, dword [esp + 0x64]
mov cl, 1
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
mov edi, edx
sub edi, 0x8bbefba5
sub edi, 1
add edi, 0x8bbefba5
imul edx, edi
and edx, 1
cmp edx, 0
sete ch
cmp esi, 0xa
setl bl
mov bh, ch
xor bh, 1
mov dl, bl
xor dl, 1
xor cl, 0
mov dh, bh
and dh, 0
and ch, cl
mov dword [esp + 0x60], eax
mov al, dl
and al, 0
and bl, cl
or dh, ch
or al, bl
xor dh, al
or bh, dl
xor bh, 1
or cl, 0
and bh, cl
or dh, bh
test dh, 1
jne 0x1009ee8f
jmp 0x1009f524
mov eax, dword [esp + 0x60]
mov dword [esp + 0xb4], eax
cmp eax, 0
setne cl
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
mov edi, edx
sub edi, 0xb20ee0ce
sub edi, 1
add edi, 0xb20ee0ce
imul edx, edi
and edx, 1
cmp edx, 0
sete ch
cmp esi, 0xa
setl bl
mov bh, ch
and bh, bl
xor ch, bl
or bh, ch
test bh, 1
mov byte [esp + 0x5f], cl
jne 0x1009eef7
jmp 0x1009f524
mov al, byte [esp + 0x5f]
test al, 1
jne 0x1009ef15
jmp 0x1009ef08
mov byte [esp + 0x2d3], 0
jmp 0x1009f389
cmp dword [0x1015181c], 0
je 0x1009ef4a
mov eax, dword [0x10151290]
mov ecx, dword [esp + 0xbc]
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 0
call eax
sub esp, 8
mov dword [esp + 0x58], eax
jmp 0x1009ef58
mov eax, 0
mov dword [esp + 0x58], eax
jmp 0x1009ef58
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc0], eax
cmp eax, 0
jne 0x1009ef7b
mov byte [esp + 0x2d3], 0
jmp 0x1009f389
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0x131b246c
sub esi, 1
sub esi, 0x131b246c
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x1009eff1
jmp 0x1009f534
mov eax, 0x244
mov dword [esp], 0x244
mov dword [esp + 0x54], eax
call fcn.100d8ea0
mov byte [esp + 0x7f], 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0xde828dc7
sub esi, 1
sub esi, 0xde828dc7
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
test cl, 1
mov dword [esp + 0x50], eax
jne 0x1009f060
jmp 0x1009f534
lea ecx, [esp + 0x88]
call fcn.10001570
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xb4]
mov edx, esp
lea esi, [esp + 0x88]
mov dword [edx + 0xc], esi
mov dword [edx + 4], eax
mov dword [edx], ecx
mov dword [edx + 8], 0x85
mov ecx, dword [esp + 0x50]
call fcn.10059100
sub esp, 0x10
mov dword [esp + 0x48], eax
mov byte [esp + 0x7f], 0
lea ecx, [esp + 0x88]
call fcn.1002d490
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xb0], ecx
cmp dword [0x1014fe7c], 0
je 0x1009f0f0
mov eax, dword [0x10150bd8]
mov ecx, dword [esp + 0xb4]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov dword [esp + 0x44], eax
jmp 0x1009f0f5
jmp 0x1009f0f5
mov al, 1
mov ecx, 0
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
sub ecx, 1
mov edi, edx
add edi, ecx
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x1009f166
jmp 0x1009f557
mov al, 1
cmp dword [0x10151810], 0
setne cl
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
mov edi, edx
sub edi, 0xdc333e00
sub edi, 1
add edi, 0xdc333e00
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl ch
mov bl, ah
xor bl, 1
mov bh, ch
xor bh, 1
xor al, 1
mov dl, bl
and dl, 1
and ah, al
mov dh, bh
and dh, 1
and ch, al
or dl, ah
or dh, ch
xor dl, dh
or bl, bh
xor bl, 1
or al, 1
and bl, al
or dl, bl
test dl, 1
mov byte [esp + 0x43], cl
jne 0x1009f1ed
jmp 0x1009f557
mov al, byte [esp + 0x43]
test al, 1
jne 0x1009f1fe
jmp 0x1009f21c
mov eax, dword [0x10151810]
mov ecx, dword [esp + 0xb8]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov dword [esp + 0x3c], eax
jmp 0x1009f221
jmp 0x1009f221
cmp dword [0x10150d6c], 0
je 0x1009f24f
mov eax, dword [0x10150d6c]
mov ecx, dword [esp + 0xbc]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov dword [esp + 0x38], eax
jmp 0x1009f254
jmp 0x1009f254
mov eax, dword [esp + 0xb0]
mov ecx, eax
call fcn.1002d4b0
cmp eax, 0
je 0x1009f27a
mov byte [esp + 0x2d3], 0
jmp 0x1009f389
mov al, 1
mov ecx, 0
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
sub ecx, 1
mov edi, edx
add edi, ecx
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x1009f2eb
jmp 0x1009f55c
mov eax, dword [esp + 0xb0]
mov ecx, eax
call fcn.1002d5f0
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x34], eax
call fcn.10045ba0
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 8], 0xb00b61b0
mov dword [ecx + 4], 1
mov eax, dword [esp + 0x34]
call eax
sub esp, 0xc
cmp eax, 0
setne dl
and dl, 1
mov byte [esp + 0x2d3], dl
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov esi, eax
sub esi, 0x2c7d1a5d
sub esi, 1
add esi, 0x2c7d1a5d
imul eax, esi
and eax, 1
cmp eax, 0
sete dl
cmp ecx, 0xa
setl dh
mov bl, dl
and bl, dh
xor dl, dh
or bl, dl
test bl, 1
jne 0x1009f384
jmp 0x1009f55c
jmp 0x1009f389
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0xe3cb6e47
sub esi, 1
add esi, 0xe3cb6e47
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x1009f3ff
jmp 0x1009f5ac
mov al, 1
mov ecx, 0
mov dl, byte [esp + 0x2d3]
mov esi, dword [0x101537c8]
mov edi, dword [0x101537c4]
sub ecx, 1
mov ebx, esi
add ebx, ecx
imul esi, ebx
and esi, 1
cmp esi, 0
sete ah
cmp edi, 0xa
setl dh
mov cl, ah
xor cl, 1
mov ch, dh
xor ch, 1
xor al, 0
mov bl, cl
and bl, 0
and ah, al
mov bh, ch
and bh, 0
and dh, al
or bl, ah
or bh, dh
xor bl, bh
or cl, ch
xor cl, 1
or al, 0
and cl, al
or bl, cl
test bl, 1
mov byte [esp + 0x33], dl
jne 0x1009f47b
jmp 0x1009f5ac
mov al, byte [esp + 0x33]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0xc4]
mov ecx, dword [0x10151624]
mov edx, dword [esp + 0x2cc]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], edx
mov dword [esi + 8], 0x104
call ecx
sub esp, 0xc
mov dword [esp + 0x2c], eax
jmp 0x1009e8e2
lea eax, [esp + 0xc4]
mov ecx, dword [0x10151468]
mov edx, esp
mov dword [edx], eax
mov dword [edx + 0x18], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x10], 3
mov dword [edx + 0xc], 0
mov dword [edx + 8], 1
mov dword [edx + 4], 0x80000000
call ecx
sub esp, 0x1c
mov dword [esp + 0x28], eax
jmp 0x1009ea1b
mov byte [esp + 0x2d3], 0
jmp 0x1009eb35
mov byte [esp + 0x2d3], 0
jmp 0x1009ec72
jmp 0x1009ed8c
mov eax, dword [esp + 0x60]
mov dword [esp + 0xb4], eax
jmp 0x1009ee8f
mov eax, 0x244
mov dword [esp], 0x244
mov dword [esp + 0x24], eax
call fcn.100d8ea0
mov byte [esp + 0x7f], 1
mov dword [esp + 0x20], eax
jmp 0x1009eff1
jmp 0x1009f166
mov eax, dword [esp + 0xb0]
mov ecx, eax
call fcn.1002d5f0
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x1c], eax
call fcn.10045ba0
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 8], 0xb00b61b0
mov dword [ecx + 4], 1
mov eax, dword [esp + 0x1c]
call eax
sub esp, 0xc
cmp eax, 0
setne dl
and dl, 1
mov byte [esp + 0x2d3], dl
jmp 0x1009f2eb
jmp 0x1009f3ff