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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], 0
cmp dword [esp + 0x78], 0
jne 0x100e42bc
mov eax, 0xffffffff
mov ecx, dword [esp + 0x7c]
xor ecx, 0xffffffff
mov edx, eax
xor edx, 2
xor eax, 0xf5d39c40
or ecx, edx
or eax, 0xf5d39c40
xor ecx, 0xffffffff
and ecx, eax
cmp ecx, 0
je 0x100e42b2
cmp dword [0x10151ccc], 0
je 0x100e42b2
mov eax, dword [0x10151cd0]
mov dword [esp + 0x44], eax
call fcn.100cb7e0
mov ecx, dword [esp + 0x44]
cmp ecx, eax
jne 0x100e42b2
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
add edx, 0x607c5a92
sub edx, 1
sub edx, 0x607c5a92
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 0x100e4254
jmp 0x100e49b2
mov eax, dword [0x10151ccc]
mov dword [esp + 0x80], eax
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
sub edx, 0x8a5ffda3
sub edx, 1
add edx, 0x8a5ffda3
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 0x100e42ad
jmp 0x100e49b2
jmp 0x100e49a3
lea eax, [fcn.100e4170]
mov dword [esp + 0x78], eax
mov eax, 0xffffffff
mov ecx, dword [esp + 0x7c]
xor ecx, 0xffffffff
mov edx, eax
xor edx, 4
xor eax, 0xa3fc0105
or ecx, edx
or eax, 0xa3fc0105
xor ecx, 0xffffffff
and ecx, eax
cmp ecx, 0
jne 0x100e45b2
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0xade1b04d
sub esi, 1
sub esi, 0xade1b04d
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 0x100e4369
jmp 0x100e49c3
mov ecx, 0x1014f9c4
call fcn.1004c010
mov dl, 1
mov ecx, 0
mov esi, 0xffffffff
xor esi, 0x100000
mov edi, eax
xor edi, esi
and edi, eax
cmp edi, 0
setne dh
mov eax, dword [0x101537c8]
mov esi, dword [0x101537c4]
sub ecx, 1
mov edi, eax
add edi, ecx
imul eax, edi
and eax, 1
cmp eax, 0
sete bl
cmp esi, 0xa
setl bh
mov al, bl
xor al, 1
mov ah, bh
xor ah, 1
xor dl, 0
mov cl, al
and cl, 0
and bl, dl
mov ch, ah
and ch, 0
and bh, dl
or cl, bl
or ch, bh
xor cl, ch
or al, ah
xor al, 1
or dl, 0
and al, dl
or cl, al
test cl, 1
mov byte [esp + 0x43], dh
jne 0x100e43ff
jmp 0x100e49c3
mov al, byte [esp + 0x43]
test al, 1
jne 0x100e4410
jmp 0x100e45b2
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0xcf737dfd
sub esi, 1
add esi, 0xcf737dfd
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 0x100e4486
jmp 0x100e49d6
call fcn.1006c7a0
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x78]
mov edx, esp
mov dword [edx], eax
call fcn.1006fb00
sub esp, 4
mov bl, 1
mov dword [esp + 0x6c], eax
cmp dword [esp + 0x6c], 0
setne bh
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
sub edx, 0xce6c27b9
sub edx, 1
add edx, 0xce6c27b9
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
xor bl, 0
mov dl, cl
and dl, 0
and al, bl
mov dh, ch
and dh, 0
and ah, bl
or dl, al
or dh, ah
xor dl, dh
or cl, ch
xor cl, 1
or bl, 0
and cl, bl
or dl, cl
test dl, 1
mov byte [esp + 0x42], bh
jne 0x100e452b
jmp 0x100e49d6
mov al, byte [esp + 0x42]
test al, 1
jne 0x100e453c
jmp 0x100e45ad
mov eax, 0xffffffff
mov ecx, dword [esp + 0x6c]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x7c]
xor eax, 1
mov edx, ecx
xor edx, eax
and edx, ecx
cmp edx, 0
je 0x100e45a8
mov eax, dword [esp + 0x6c]
movsx eax, word [eax + 0x38]
cmp eax, 0
jle 0x100e45a8
mov eax, dword [esp + 0x6c]
movsx eax, word [eax + 0x38]
cmp eax, 0x7fff
jge 0x100e45a8
mov eax, dword [esp + 0x6c]
mov cx, word [eax + 0x38]
add cx, 0xb4c8
add cx, 1
sub cx, 0xb4c8
mov word [eax + 0x38], cx
jmp 0x100e45ad
jmp 0x100e45b2
mov eax, 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 0x100e45fc
jmp 0x100e49fc
mov al, 1
cmp dword [esp + 0x74], 0
setne cl
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
mov edi, edx
sub edi, 0xcf657fc8
sub edi, 1
add edi, 0xcf657fc8
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, 0
mov dl, bl
and dl, 0
and ah, al
mov dh, bh
and dh, 0
and ch, al
or dl, ah
or dh, ch
xor dl, dh
or bl, bh
xor bl, 1
or al, 0
and bl, al
or dl, bl
test dl, 1
mov byte [esp + 0x41], cl
jne 0x100e4681
jmp 0x100e49fc
mov al, byte [esp + 0x41]
test al, 1
jne 0x100e4985
jmp 0x100e4692
mov eax, 0xffffffff
mov dword [esp + 0x68], 0
mov ecx, dword [esp + 0x7c]
xor eax, 4
mov edx, ecx
xor edx, eax
and edx, ecx
cmp edx, 0
jne 0x100e46ff
mov ecx, 0x1014f9c4
call fcn.1004c010
mov ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0x100000
xor ecx, 0x3e361d9a
or eax, edx
or ecx, 0x3e361d9a
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
je 0x100e46ff
mov eax, dword [0x1015120c]
mov dword [esp + 0x68], eax
cmp dword [esp + 0x68], 0
jne 0x100e4862
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0xc08db0bf
sub esi, 1
add esi, 0xc08db0bf
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 0x100e4783
jmp 0x100e4a01
lea eax, [esp + 0x50]
lea ecx, [0x1014be88]
mov edx, dword [0x1014fb18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 0x3c], edx
call fcn.10065f00
lea ecx, [esp + 0x50]
call fcn.1002b920
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0x86ebe9b7
sub esi, 1
sub esi, 0x86ebe9b7
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 + 0x38], eax
jne 0x100e4801
jmp 0x100e4a01
mov eax, esp
mov ecx, dword [esp + 0x38]
mov dword [eax], ecx
mov eax, dword [esp + 0x3c]
call eax
sub esp, 4
mov dword [esp + 0x34], eax
lea eax, [0x10146474]
mov ecx, 0
mov edx, dword [esp + 0x34]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x30], ecx
call fcn.10064c00
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x68], eax
lea ecx, [esp + 0x50]
call fcn.1002b850
mov eax, 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 0x100e48ac
jmp 0x100e4a29
cmp dword [esp + 0x68], 0
setne al
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0xcaf7a2a0
sub esi, 1
sub esi, 0xcaf7a2a0
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
and bh, bl
xor ah, bl
or bh, ah
test bh, 1
mov byte [esp + 0x2b], al
jne 0x100e490c
jmp 0x100e4a29
mov al, byte [esp + 0x2b]
test al, 1
jne 0x100e491d
jmp 0x100e4980
mov eax, 2
mov ecx, 0
mov edx, 0xffffffff
lea esi, [esp + 0x74]
mov edi, dword [esp + 0x68]
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x7c]
xor edx, 1
mov dword [esp + 0x20], eax
xor eax, edx
mov edx, dword [esp + 0x20]
and eax, edx
cmp eax, 0
mov eax, dword [esp + 0x24]
cmovne eax, ecx
mov ecx, eax
and ecx, 4
xor eax, 4
or ecx, eax
mov eax, esp
mov dword [eax + 8], esi
mov dword [eax + 4], ebx
mov dword [eax], ecx
call edi
sub esp, 0xc
mov dword [esp + 0x1c], eax
jmp 0x100e4985
mov eax, dword [esp + 0x74]
mov dword [0x10151ccc], eax
call fcn.100cb7e0
mov dword [0x10151cd0], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x10151ccc]
mov dword [esp + 0x80], eax
jmp 0x100e4254
mov ecx, 0x1014f9c4
call fcn.1004c010
mov dword [esp + 0x18], eax
jmp 0x100e4369
call fcn.1006c7a0
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x78]
mov edx, esp
mov dword [edx], eax
call fcn.1006fb00
sub esp, 4
mov dword [esp + 0x6c], eax
jmp 0x100e4486
jmp 0x100e45fc
lea eax, [esp + 0x50]
lea ecx, [0x1014be88]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.10065f00
lea ecx, [esp + 0x50]
call fcn.1002b920
mov dword [esp + 0x14], eax
jmp 0x100e4783
jmp 0x100e48ac