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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x180
mov esi, esp
mov al, byte [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov ah, 1
mov dword [esi + 0x174], ecx
mov ecx, 0
mov dword [esi + 0x170], ecx
mov ecx, dword [0x101537c8]
mov dword [esi + 0x16c], ecx
mov ecx, dword [0x101537c4]
mov dword [esi + 0x168], ecx
mov ecx, dword [esi + 0x170]
sub ecx, 1
mov dword [esi + 0x164], ecx
mov ecx, dword [esi + 0x16c]
mov dword [esi + 0x160], edx
mov edx, dword [esi + 0x164]
add ecx, edx
mov edx, dword [esi + 0x16c]
imul edx, ecx
and edx, 1
cmp edx, 0
sete cl
mov edx, dword [esi + 0x168]
cmp edx, 0xa
setl ch
mov dl, cl
xor dl, 1
mov dh, ch
xor dh, 1
xor ah, 1
mov byte [esi + 0x15f], al
mov al, dl
and al, 1
and cl, ah
mov byte [esi + 0x15e], al
mov al, dh
and al, 1
and ch, ah
mov byte [esi + 0x15d], al
mov al, byte [esi + 0x15e]
or al, cl
mov cl, byte [esi + 0x15d]
or cl, ch
xor al, cl
or dl, dh
xor dl, 1
or ah, 1
and dl, ah
or al, dl
test al, 1
mov dword [esi + 0x158], ebx
mov dword [esi + 0x154], edi
jne 0x1006218a
jmp 0x10063917
mov eax, 4
mov dword [esi + 0x150], eax
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x14c], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x148], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x144], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x140], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x13c], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x138], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x134], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x130], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x12c], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x128], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x124], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x120], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x11c], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x118], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x114], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x110], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x10c], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x108], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, 0xc
mov dword [esi + 0x104], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x150]
mov dword [esi + 0x100], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov dl, byte [esi + 0x15f]
and dl, 1
mov ecx, dword [esi + 0x148]
mov byte [ecx], dl
mov edi, dword [esi + 0x144]
mov ebx, dword [esi + 0x160]
mov dword [edi], ebx
mov ecx, dword [esi + 0x140]
mov edx, dword [esi + 0x154]
mov dword [ecx], edx
mov ecx, dword [esi + 0x13c]
mov edx, dword [esi + 0x158]
mov dword [ecx], edx
mov ecx, dword [esi + 0x138]
mov edx, dword [esi + 0x174]
mov dword [ecx], edx
mov ecx, dword [ecx]
mov edx, dword [esi + 0x14c]
mov dword [edx], ecx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov edx, dword [edi]
mov dword [ecx + 0xc], edx
mov edx, dword [esi + 0x134]
mov dword [edx], 0x101000
mov edx, dword [0x101501b8]
mov edi, dword [esi + 0x134]
mov edi, dword [edi]
sub esp, 0x10
mov ebx, esp
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], 4
mov dword [ebx + 4], 0x1000
mov dword [ebx], 0
mov dword [esi + 0xfc], eax
mov dword [esi + 0xf8], ecx
call edx
mov ecx, dword [esi + 0xf8]
mov dword [ecx + 8], eax
cmp dword [ecx + 8], 0
setne al
mov edx, dword [0x101537c8]
mov edi, dword [0x101537c4]
mov ebx, edx
sub ebx, 0x4efcc181
sub ebx, 1
add ebx, 0x4efcc181
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
and ch, cl
xor ah, cl
or ch, ah
test ch, 1
mov byte [esi + 0xf7], al
jne 0x1006246d
jmp 0x10063917
mov al, byte [esi + 0xf7]
test al, 1
jne 0x10062480
jmp 0x100624c3
mov eax, dword [esi + 0xf8]
mov ecx, dword [eax + 8]
mov edx, dword [esi + 0x13c]
mov edi, dword [edx]
sub ecx, edi
sub esp, 4
mov edi, esp
mov dword [edi], ecx
call fcn.10022bf5
add esp, 4
mov ecx, eax
sar ecx, 0x1f
shr eax, 0x1f
add ecx, ecx
mov edx, eax
add edx, ecx
or edx, eax
mov dword [esi + 0xf0], edx
je 0x10062569
jmp 0x100624c3
mov eax, dword [esi + 0xf8]
cmp dword [eax + 8], 0
je 0x10062501
mov eax, dword [0x1014fd38]
mov ecx, dword [esi + 0xf8]
mov edx, dword [ecx + 8]
sub esp, 0xc
mov edi, esp
mov dword [edi], edx
mov dword [edi + 8], 0x8000
mov dword [edi + 4], 0
call eax
mov dword [esi + 0xec], eax
mov eax, 0xffffffff
mov ecx, dword [0x1015025c]
mov edx, dword [esi + 0x134]
mov edi, dword [edx]
mov ebx, edi
xor ebx, 0xffffffff
and ebx, 0x50d1a29a
mov edx, eax
xor edx, 0x50d1a29a
and edi, edx
xor eax, 0x100000
and eax, 0x50d1a29a
and edx, 0x100000
or ebx, edi
or eax, edx
xor ebx, eax
sub esp, 0x10
mov eax, esp
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 4
mov dword [eax + 4], 0x1000
mov dword [eax], 0
call ecx
mov ecx, dword [esi + 0xf8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xf8]
cmp dword [eax + 8], 0
jne 0x10062641
mov eax, 0
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
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 0x100625c6
jmp 0x10063a12
call fcn.10022bb2
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov edi, ecx
add edi, 0x9bd90728
sub edi, 1
sub edi, 0x9bd90728
imul ecx, edi
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 0x10062641
jmp 0x10063a12
mov eax, 0x90
mov ecx, 0x1000
mov edx, dword [esi + 0xf8]
mov edi, dword [edx + 8]
sub esp, 0xc
mov dword [esp], edi
mov dword [esp + 4], 0x90
mov dword [esp + 8], 0x1000
mov dword [esi + 0xe8], eax
mov dword [esi + 0xe4], ecx
call fcn.10020350
add esp, 0xc
mov eax, dword [esi + 0x13c]
mov ecx, dword [eax]
mov edx, dword [esi + 0x130]
mov dword [edx], ecx
mov ecx, dword [esi + 0x12c]
call fcn.10003ce0
mov ecx, dword [esi + 0x148]
test byte [ecx], 1
mov dword [esi + 0xe0], eax
je 0x10062d1a
mov eax, 2
mov ecx, dword [esi + 0x13c]
mov edx, dword [ecx]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], 2
mov dword [esi + 0xdc], eax
call fcn.100e4170
add esp, 8
mov dword [esi + 0xd8], eax
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
add edx, 0xa6c8b7db
sub edx, 1
sub edx, 0xa6c8b7db
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 0x1006272a
jmp 0x10063a1c
mov eax, dword [esi + 0x124]
mov ecx, dword [esi + 0xd8]
mov dword [eax], ecx
mov edx, dword [0x101537c8]
mov edi, dword [0x101537c4]
mov ebx, edx
sub ebx, 0xb73cb974
sub ebx, 1
add ebx, 0xb73cb974
imul edx, ebx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
and cl, ah
xor al, ah
or cl, al
test cl, 1
jne 0x10062789
jmp 0x10063a1c
sub esp, 8
mov eax, esp
mov ecx, dword [esi + 0x124]
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x128]
mov dword [eax], edx
mov ecx, 0x1014f9b4
call fcn.100a4a30
mov eax, dword [esi + 0x128]
sub esp, 4
mov ecx, esp
mov edx, dword [esi + 0x118]
mov dword [ecx], edx
mov ecx, 0x1014f9b4
mov dword [esi + 0xd4], eax
call fcn.10003d10
mov eax, dword [esi + 0x118]
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [esi + 0xd4]
call fcn.1002f580
mov byte [esi + 0xd3], al
mov al, byte [esi + 0xd3]
test al, 1
jne 0x100627fd
jmp 0x10062d15
mov ecx, dword [esi + 0x128]
call fcn.10063ec0
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0xcc]
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x114]
mov dword [edx], ecx
mov ecx, dword [edx]
call fcn.10063ee0
mov dword [esi + 0xc8], eax
mov eax, dword [esi + 0xc8]
cmp eax, 0
jne 0x10062c29
mov eax, 0
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
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 0x10062887
jmp 0x10063a2f
mov eax, dword [esi + 0x114]
mov ecx, dword [eax]
mov edx, dword [esi + 0x13c]
mov edi, dword [edx]
mov ebx, dword [0x101537c8]
mov eax, dword [0x101537c4]
mov edx, ebx
add edx, 0x3dd0edca
sub edx, 1
sub edx, 0x3dd0edca
imul ebx, edx
and ebx, 1
cmp ebx, 0
sete dl
cmp eax, 0xa
setl dh
mov al, dl
and al, dh
xor dl, dh
or al, dl
test al, 1
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], ecx
jne 0x100628f1
jmp 0x10063a2f
sub esp, 8
mov eax, esp
mov ecx, dword [esi + 0xc4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [esi + 0xc0]
call fcn.100578a0
mov byte [esi + 0xbf], al
mov al, byte [esi + 0xbf]
test al, 1
jne 0x10062c29
jmp 0x10062929
mov eax, dword [esi + 0x110]
mov dword [eax], 0x20
mov ecx, dword [eax]
shl ecx, 1
sub esp, 4
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [esi + 0x12c]
call fcn.100e3c20
mov eax, 0
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
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 0x10062996
jmp 0x10063a34
mov eax, dword [esi + 0x114]
mov ecx, dword [eax]
mov edx, dword [esi + 0x13c]
mov edi, dword [edx]
mov ebx, dword [0x101537c8]
mov eax, dword [0x101537c4]
mov edx, ebx
add edx, 0x7c171034
sub edx, 1
sub edx, 0x7c171034
imul ebx, edx
and ebx, 1
cmp ebx, 0
sete dl
cmp eax, 0xa
setl dh
mov al, dl
and al, dh
xor dl, dh
or al, dl
test al, 1
mov dword [esi + 0xb8], edi
mov dword [esi + 0xb4], ecx
jne 0x10062a00
jmp 0x10063a34
mov ecx, dword [esi + 0x12c]
call fcn.100c63a0
mov dword [esi + 0xb0], eax
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov edi, ecx
sub edi, 0x9eb9fcde
sub edi, 1
add edi, 0x9eb9fcde
imul ecx, edi
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 0x10062a87
jmp 0x10063a39
mov al, 1
mov ecx, 0
mov edx, dword [0x101537c8]
mov edi, dword [0x101537c4]
sub ecx, 1
mov ebx, edx
add ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 1
mov dh, ch
and dh, 1
and ah, al
mov bl, dl
and bl, 1
and cl, al
or dh, ah
or bl, cl
xor dh, bl
or ch, dl
xor ch, 1
or al, 1
and ch, al
or dh, ch
test dh, 1
jne 0x10062af8
jmp 0x10063a39
sub esp, 0x10
mov eax, esp
mov ecx, dword [esi + 0x110]
mov dword [eax + 8], ecx
mov edx, dword [esi + 0xb8]
mov dword [eax + 4], edx
mov edi, dword [esi + 0xb0]
mov dword [eax], edi
mov dword [eax + 0xc], 0
mov ecx, dword [esi + 0xb4]
call fcn.100589d0
mov byte [esi + 0xaf], al
mov al, byte [esi + 0xaf]
test al, 1
jne 0x10062b42
jmp 0x10062c24
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
sub edx, 0xc1483a4f
sub edx, 1
add edx, 0xc1483a4f
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 0x10062b8f
jmp 0x10063a3e
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov edi, ecx
add edi, 0x5125f5bc
sub edi, 1
sub edi, 0x5125f5bc
imul ecx, edi
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 0x10062c05
jmp 0x10063a3e
mov ecx, dword [esi + 0x12c]
call fcn.100c63a0
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 0x130]
mov ecx, dword [esi + 0xa8]
mov dword [eax], ecx
jmp 0x10062c29
mov al, 1
mov ecx, 0
mov edx, dword [0x101537c8]
mov edi, dword [0x101537c4]
sub ecx, 1
mov ebx, edx
add ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 0
mov dh, ch
and dh, 0
and ah, al
mov bl, dl
and bl, 0
and cl, al
or dh, ah
or bl, cl
xor dh, bl
or ch, dl
xor ch, 1
or al, 0
and ch, al
or dh, ch
test dh, 1
jne 0x10062c9a
jmp 0x10063a43
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov edi, ecx
add edi, 0xabf8b512
sub edi, 1
sub edi, 0xabf8b512
imul ecx, edi
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 0x10062d10
jmp 0x10063a43
jmp 0x10062d15
jmp 0x10062d1a
mov eax, dword [esi + 0x13c]
mov ecx, dword [eax]
mov edx, dword [esi + 0x10c]
mov dword [edx], ecx
mov ecx, dword [esi + 0x130]
mov edi, dword [ecx]
cmp edi, dword [edx]
je 0x10062d4d
mov eax, dword [esi + 0x10c]
mov ecx, dword [eax]
mov dword [esi + 0xa4], ecx
jmp 0x10062d5b
mov eax, dword [esi + 0x13c]
mov ecx, dword [eax]
mov dword [esi + 0xa4], ecx
mov eax, dword [esi + 0xa4]
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov edi, ecx
add edi, 0x9422ee70
sub edi, 1
sub edi, 0x9422ee70
imul ecx, edi
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 [esi + 0xa0], eax
jne 0x10062db8
jmp 0x10063a48
mov al, 1
mov ecx, 0
mov edx, dword [esi + 0xf8]
mov edi, dword [esi + 0xa0]
mov dword [edx + 0x14], edi
mov ebx, dword [esi + 0x13c]
mov edx, dword [ebx]
mov edi, dword [esi + 0xf8]
mov dword [edi + 0x10], edx
mov edx, dword [esi + 0x140]
mov edx, dword [edx]
mov dword [edi + 0x18], edx
mov edx, dword [edi + 0x14]
mov edi, dword [edi + 8]
mov ebx, dword [0x101537c8]
mov byte [esi + 0x9f], al
mov eax, dword [0x101537c4]
sub ecx, 1
mov dword [esi + 0x98], eax
mov eax, ebx
add eax, ecx
imul ebx, eax
and ebx, 1
cmp ebx, 0
sete al
mov ecx, dword [esi + 0x98]
cmp ecx, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov bl, byte [esi + 0x9f]
xor bl, 1
mov bh, cl
and bh, 1
and al, bl
mov byte [esi + 0x97], al
mov al, ch
and al, 1
and ah, bl
mov byte [esi + 0x96], al
mov al, byte [esi + 0x97]
or bh, al
mov al, byte [esi + 0x96]
or al, ah
xor bh, al
or cl, ch
xor cl, 1
or bl, 1
and cl, bl
or bh, cl
test bh, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], edx
jne 0x10062e96
jmp 0x10063a48
sub esp, 8
mov eax, dword [esi + 0x90]
mov dword [esp], eax
mov ecx, dword [esi + 0x8c]
mov dword [esp + 4], ecx
call fcn.100ca4c0
add esp, 8
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0x88]
mov dword [eax + 0x20], ecx
mov edx, dword [eax + 0x18]
mov edi, dword [eax + 0x14]
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], edx
call fcn.100ca4c0
add esp, 8
mov dword [esi + 0x84], eax
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov edi, ecx
add edi, 0x78f9178f
sub edi, 1
sub edi, 0x78f9178f
imul ecx, edi
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 0x10062f5d
jmp 0x10063a72
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0x84]
mov dword [eax + 0x1c], ecx
mov edx, dword [eax + 0x1c]
mov edi, dword [esi + 0x10c]
mov ebx, dword [edi]
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edi, eax
add edi, 0x9bb5aad0
sub edi, 1
sub edi, 0x9bb5aad0
imul eax, edi
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl ah
mov cl, al
and cl, ah
xor al, ah
or cl, al
test cl, 1
mov dword [esi + 0x80], ebx
mov dword [esi + 0x7c], edx
jne 0x10062fce
jmp 0x10063a72
sub esp, 8
mov eax, dword [esi + 0x80]
mov dword [esp], eax
mov ecx, dword [esi + 0x7c]
mov dword [esp + 4], ecx
call fcn.10003b10
add esp, 8
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x108]
mov ecx, dword [esi + 0x78]
mov dword [eax], ecx
cmp dword [eax], 0
jne 0x1006309f
call fcn.10022bb2
mov eax, 0
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
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 0x10063052
jmp 0x10063a86
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
add edx, 0xec9a62b9
sub edx, 1
sub edx, 0xec9a62b9
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 0x1006309f
jmp 0x10063a86
mov eax, 0
mov ecx, dword [esi + 0x108]
mov edx, dword [ecx]
mov edi, dword [esi + 0xf8]
mov dword [edi + 0x24], edx
mov dword [edi + 0x28], 0
mov edx, dword [edi + 0x24]
mov ebx, dword [edi + 0x20]
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, ebx
add ecx, edx
sub eax, ecx
cmp eax, 0x80
jbe 0x1006319e
mov eax, 0
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
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 0x10063123
jmp 0x10063a8b
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov edi, ecx
add edi, 0x9a0c07ad
sub edi, 1
sub edi, 0x9a0c07ad
imul ecx, edi
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 0x10063199
jmp 0x10063a8b
call fcn.10022bb2
mov eax, 0
mov ecx, dword [esi + 0xf8]
mov edx, dword [ecx + 0x24]
mov edi, dword [esi + 0x104]
mov dword [edi], edx
mov edx, dword [ecx + 8]
mov ebx, dword [esi + 0x10c]
mov ecx, dword [ebx]
mov edi, dword [esi + 0xf8]
mov edi, dword [edi + 0x24]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esi + 0x74], eax
call fcn.1001fd00
add esp, 0xc
mov eax, dword [esi + 0xf8]
mov ecx, dword [eax + 8]
add ecx, 0x80
mov edx, dword [eax + 0x14]
mov edi, dword [eax + 0x24]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
call fcn.1001fd00
add esp, 0xc
mov eax, dword [esi + 0x10c]
mov ecx, dword [eax]
mov edx, dword [esi + 0x100]
mov dword [edx], ecx
mov ecx, dword [esi + 0xf8]
mov edi, dword [ecx + 0x14]
mov dword [edx + 4], edi
mov edi, dword [ecx + 0x24]
mov dword [edx + 8], edi
mov edi, dword [ecx + 8]
sub esp, 0x10
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov edi, dword [esi + 0x104]
mov dword [esp + 0xc], edi
call fcn.10082520
add esp, 0x10
mov byte [esi + 0x73], al
mov al, byte [esi + 0x73]
test al, 1
jne 0x1006326d
jmp 0x10063268
call fcn.10022bb2
mov eax, 0
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
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 0x100632b7
jmp 0x10063a90
mov eax, dword [esi + 0xf8]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x14]
add edx, dword [eax + 0x24]
mov edi, dword [eax + 8]
mov ebx, dword [esi + 0x104]
add edi, dword [ebx]
mov eax, dword [0x101537c8]
mov ebx, dword [0x101537c4]
mov dword [esi + 0x6c], eax
add eax, 0x4fcd3edd
sub eax, 1
sub eax, 0x4fcd3edd
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x64], ecx
mov ecx, dword [esi + 0x68]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
cmp ebx, 0xa
setl ah
mov cl, al
and cl, ah
xor al, ah
or cl, al
test cl, 1
mov dword [esi + 0x60], edx
mov dword [esi + 0x5c], edi
jne 0x1006332f
jmp 0x10063a90
sub esp, 0xc
mov eax, dword [esi + 0x5c]
mov dword [esp], eax
mov ecx, dword [esi + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esi + 0x64]
mov dword [esp + 8], edx
call fcn.10048800
add esp, 0xc
mov eax, 0
mov ecx, dword [esi + 0xf8]
mov edx, dword [ecx + 8]
mov edi, dword [esi + 0x144]
mov ebx, dword [edi]
mov dword [ebx], edx
mov edx, dword [0x101515d4]
mov ebx, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x20]
sub eax, ecx
sub ebx, eax
mov eax, dword [esi + 0xf8]
mov ecx, dword [eax + 8]
sub esp, 0x10
mov eax, esp
mov edi, dword [esi + 0xfc]
mov dword [eax + 0xc], edi
mov dword [eax + 4], ebx
mov dword [eax], ecx
mov dword [eax + 8], 0x20
call edx
mov dword [esi + 0x58], eax
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov edi, ecx
add edi, 0x479489a9
sub edi, 1
sub edi, 0x479489a9
imul ecx, edi
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 0x10063414
jmp 0x10063a95
mov eax, 0
mov ecx, dword [esi + 0x58]
cmp ecx, 0
setne dl
mov edi, dword [0x101537c8]
mov ebx, dword [0x101537c4]
sub eax, 1
mov ecx, edi
add ecx, eax
imul edi, ecx
and edi, 1
cmp edi, 0
sete dh
cmp ebx, 0xa
setl al
mov ah, dh
and ah, al
xor dh, al
or ah, dh
test ah, 1
mov byte [esi + 0x57], dl
jne 0x1006346e
jmp 0x10063a95
mov al, byte [esi + 0x57]
test al, 1
jne 0x10063546
jmp 0x1006347e
call fcn.10022bb2
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov edi, ecx
sub edi, 0xcafb105d
sub edi, 1
add edi, 0xcafb105d
imul ecx, edi
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 0x100634f9
jmp 0x10063a9a
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
add edx, 0x552e9feb
sub edx, 1
sub edx, 0x552e9feb
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 0x10063546
jmp 0x10063a9a
mov eax, 0x414fb3ae
mov ecx, 0
mov edx, dword [0x1014faa0]
mov edi, dword [esi + 0xf8]
mov ebx, dword [edi + 0x24]
mov edi, dword [edi + 0x28]
mov dword [esi + 0x50], eax
mov eax, ecx
sub eax, ebx
mov ebx, ecx
sub ebx, edi
add eax, ebx
sub ecx, eax
mov eax, dword [esi + 0xf8]
mov edi, dword [eax + 0x14]
mov ebx, dword [eax + 0x28]
mov eax, dword [esi + 0x50]
add eax, 0
sub eax, ebx
sub eax, 0x414fb3ae
add edi, eax
sub esp, 0x10
mov eax, esp
mov ebx, dword [esi + 0xfc]
mov dword [eax + 0xc], ebx
mov dword [eax + 4], ecx
mov dword [eax], edi
mov dword [eax + 8], 0x40
call edx
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x4c]
cmp eax, 0
jne 0x100635c0
call fcn.10022bb2
mov eax, dword [esi + 0xf8]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.10003e20
add esp, 8
mov eax, 0
mov ecx, dword [0x1014faa0]
mov edx, dword [esi + 0xfc]
mov edi, dword [edx]
mov ebx, dword [esi + 0xf8]
mov edx, dword [ebx + 0x24]
mov ebx, dword [ebx + 0x28]
mov dword [esi + 0x48], eax
sub eax, edx
mov edx, dword [esi + 0x48]
sub edx, ebx
add eax, edx
mov edx, dword [esi + 0x48]
sub edx, eax
mov eax, dword [esi + 0xf8]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0x28]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x48]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x44]
sub eax, ecx
add eax, 0
add ebx, eax
sub esp, 0x10
mov eax, esp
mov ecx, dword [esi + 0xfc]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ebx
mov eax, dword [esi + 0x40]
call eax
mov dword [esi + 0x3c], eax
mov eax, dword [0x10151628]
mov ecx, dword [esi + 0xf8]
mov edx, dword [ecx + 0x24]
mov edi, dword [ecx + 0x14]
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [esi + 0x38], eax
mov dword [esi + 0x34], edx
mov dword [esi + 0x30], edi
call ebx
mov dword [esi + 0x2c], eax
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
sub edx, 0xbbd0d0bf
sub edx, 1
add edx, 0xbbd0d0bf
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 0x100636bf
jmp 0x10063a9f
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
sub edx, 0xfb4f2320
sub edx, 1
add edx, 0xfb4f2320
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 0x1006370c
jmp 0x10063a9f
sub esp, 0xc
mov eax, esp
mov ecx, dword [esi + 0x34]
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x30]
mov dword [eax + 4], edx
mov edi, dword [esi + 0x2c]
mov dword [eax], edi
mov eax, dword [esi + 0x38]
call eax
mov dword [esi + 0x28], eax
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
sub edx, 0x86a5ab96
sub edx, 1
add edx, 0x86a5ab96
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 0x10063777
jmp 0x10063aa4
mov al, 1
mov ecx, 0
mov edx, dword [0x1014f9c0]
mov edi, dword [esi + 0xf8]
mov dword [edi], edx
cmp edx, 0
setne ah
mov edx, dword [0x101537c8]
mov ebx, dword [0x101537c4]
sub ecx, 1
mov edi, edx
add edi, ecx
imul edx, edi
and edx, 1
cmp edx, 0
sete cl
cmp ebx, 0xa
setl ch
mov dl, cl
xor dl, 1
mov dh, ch
xor dh, 1
xor al, 1
mov bl, dl
and bl, 1
and cl, al
mov bh, dh
and bh, 1
and ch, al
or bl, cl
or bh, ch
xor bl, bh
or dl, dh
xor dl, 1
or al, 1
and dl, al
or bl, dl
test bl, 1
mov byte [esi + 0x27], ah
jne 0x10063802
jmp 0x10063aa4
mov al, byte [esi + 0x27]
test al, 1
jne 0x10063812
jmp 0x10063822
mov eax, dword [esi + 0xf8]
mov ecx, dword [eax]
mov dword [ecx + 4], eax
jmp 0x1006382d
mov eax, dword [esi + 0xf8]
mov dword [0x1014f9bc], eax
mov al, 1
mov ecx, 0
mov edx, dword [0x101537c8]
mov edi, dword [0x101537c4]
sub ecx, 1
mov ebx, edx
add ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 1
mov dh, ch
and dh, 1
and ah, al
mov bl, dl
and bl, 1
and cl, al
or dh, ah
or bl, cl
xor dh, bl
or ch, dl
xor ch, 1
or al, 1
and ch, al
or dh, ch
test dh, 1
jne 0x1006389e
jmp 0x10063ab6
mov eax, dword [esi + 0xf8]
mov dword [0x1014f9c0], eax
mov ecx, dword [esi + 0x12c]
call fcn.10001380
mov eax, 0
mov ecx, dword [esi + 0x14c]
mov edx, dword [ecx]
mov edi, dword [0x101537c8]
mov ebx, dword [0x101537c4]
sub eax, 1
mov ecx, edi
add ecx, eax
imul edi, ecx
and edi, 1
cmp edi, 0
sete al
cmp ebx, 0xa
setl ah
mov cl, al
and cl, ah
xor al, ah
or cl, al
test cl, 1
mov dword [esi + 0x20], edx
jne 0x1006390a
jmp 0x10063ab6
mov eax, dword [esi + 0x20]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov eax, 4
mov dword [esi + 0x1c], eax
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x18], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x14], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x10], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0xc], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x1c]
mov dword [esi + 8], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov ecx, dword [esi + 0x1c]
mov dword [esi + 4], eax
mov eax, ecx
call fcn.1001fcd0
mov eax, esp
mov dl, byte [esi + 0x15f]
and dl, 1
mov ecx, dword [esi + 0x14]
mov byte [ecx], dl
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x160]
mov dword [edi], ebx
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x154]
mov dword [ecx], edx
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x158]
mov dword [ecx], edx
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x174]
mov dword [ecx], edx
mov ecx, dword [ecx]
mov edx, dword [esi + 0x18]
mov dword [edx], ecx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov edx, dword [edi]
mov dword [ecx + 0xc], edx
mov dword [eax], 0x101000
mov edx, dword [0x101501b8]
mov eax, dword [eax]
sub esp, 0x10
mov edi, esp
mov dword [edi + 8], eax
mov dword [edi + 0xc], 4
mov dword [edi + 4], 0x1000
mov dword [edi], 0
mov dword [esi], ecx
call edx
mov ecx, dword [esi]
mov dword [ecx + 8], eax
jmp 0x1006218a
call fcn.10022bb2
jmp 0x100625c6
mov eax, dword [esi + 0x124]
mov ecx, dword [esi + 0xd8]
mov dword [eax], ecx
jmp 0x1006272a
jmp 0x10062887
jmp 0x10062996
jmp 0x10062a87
jmp 0x10062b8f
jmp 0x10062c9a
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0xa0]
mov dword [eax + 0x14], ecx
mov edx, dword [esi + 0x13c]
mov edi, dword [edx]
mov dword [eax + 0x10], edi
mov edi, dword [esi + 0x140]
mov ebx, dword [edi]
mov dword [eax + 0x18], ebx
jmp 0x10062db8
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0x84]
mov dword [eax + 0x1c], ecx
jmp 0x10062f5d
jmp 0x10063052
jmp 0x10063123
jmp 0x100632b7
jmp 0x10063414
jmp 0x100634f9
jmp 0x100636bf
mov eax, dword [0x1014f9c0]
mov ecx, dword [esi + 0xf8]
mov dword [ecx], eax
jmp 0x10063777
mov eax, dword [esi + 0xf8]
mov dword [0x1014f9c0], eax
mov ecx, dword [esi + 0x12c]
call fcn.10001380
jmp 0x1006389e