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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x128
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x118], ecx
mov dword [esp + 0x114], edx
mov dword [esp + 0x110], esi
mov dword [esp + 0x10c], edi
cmp dword [esp + 0x10c], 0
jne 0x10064d25
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0xdd42ef7c
sub esi, 1
sub esi, 0xdd42ef7c
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 0x10064ccb
jmp 0x10065e22
mov eax, 0
mov dword [esp + 0x120], 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 0x10064d20
jmp 0x10065e22
jmp 0x10065e13
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x108], eax
cmp dword [esp + 0x11c], 0
je 0x10064d54
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x78], eax
jmp 0x10064e51
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
sub edx, 0x35e84eeb
sub edx, 1
add edx, 0x35e84eeb
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 0x10064da1
jmp 0x10065e32
mov al, 1
mov ecx, 0
mov edx, dword [esp + 0x10c]
mov esi, dword [esp + 0x108]
mov esi, dword [esi + 0x3c]
add edx, 0x705e0c56
add edx, esi
sub edx, 0x705e0c56
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 cl
mov ch, ah
xor ch, 1
mov bl, cl
xor bl, 1
xor al, 1
mov bh, ch
and bh, 1
and ah, al
mov byte [esp + 0x77], al
mov al, bl
and al, 1
mov byte [esp + 0x76], al
mov al, byte [esp + 0x77]
and cl, al
or bh, ah
mov ah, byte [esp + 0x76]
or ah, cl
xor bh, ah
or ch, bl
xor ch, 1
or al, 1
and ch, al
or bh, ch
test bh, 1
mov dword [esp + 0x70], edx
jne 0x10064e44
jmp 0x10065e32
mov eax, dword [esp + 0x70]
mov dword [esp + 0x78], eax
jmp 0x10064e51
mov eax, dword [esp + 0x78]
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0xbd8a1197
sub esi, 1
sub esi, 0xbd8a1197
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 + 0x6c], eax
jne 0x10064eaa
jmp 0x10065e37
mov al, 1
mov ecx, 0
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x104], edx
mov esi, dword [esp + 0x104]
cmp dword [esi + 0x7c], 0
setne ah
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 cl
cmp edi, 0xa
setl ch
mov dl, cl
xor dl, 1
mov dh, ch
xor dh, 1
xor al, 0
mov bl, dl
and bl, 0
and cl, al
mov bh, dh
and bh, 0
and ch, al
or bl, cl
or bh, ch
xor bl, bh
or dl, dh
xor dl, 1
or al, 0
and dl, al
or bl, dl
test bl, 1
mov byte [esp + 0x6b], ah
jne 0x10064f3b
jmp 0x10065e37
mov al, byte [esp + 0x6b]
test al, 1
jne 0x10064f5c
jmp 0x10064f4c
mov dword [esp + 0x120], 0
jmp 0x10065e13
mov eax, 0xffffffff
mov ecx, 0
mov edx, dword [esp + 0x10c]
mov esi, dword [esp + 0x104]
mov esi, dword [esi + 0x78]
add edx, 0xf2cad209
add edx, esi
sub edx, 0xf2cad209
mov dword [esp + 0x100], edx
mov edx, dword [esp + 0x10c]
mov esi, dword [esp + 0x100]
mov esi, dword [esi + 0x1c]
mov edi, ecx
sub edi, esi
sub edx, edi
mov dword [esp + 0xfc], edx
mov edx, dword [esp + 0x10c]
mov esi, dword [esp + 0x100]
mov esi, dword [esi + 0x24]
mov edi, ecx
sub edi, esi
sub edx, edi
mov dword [esp + 0xf8], edx
mov edx, dword [esp + 0x10c]
mov esi, dword [esp + 0x100]
mov esi, dword [esi + 0x20]
sub ecx, esi
sub edx, ecx
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf0], 0
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xec], ecx
mov ecx, dword [esp + 0xec]
movzx ecx, byte [ecx]
xor ecx, 0xffffffff
mov edx, eax
xor edx, 0xf0
xor eax, 0xcb2b0e23
or ecx, edx
or eax, 0xcb2b0e23
xor ecx, 0xffffffff
and ecx, eax
cmp ecx, 0xf0
je 0x10065064
mov eax, dword [esp + 0x110]
mov ecx, esp
mov dword [ecx], eax
call fcn.10021320
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.100f4320
mov dword [esp + 0xf0], eax
jmp 0x10065119
mov eax, 0xffffffff
mov ecx, 0x5c95bb8
mov edx, dword [esp + 0xec]
movzx edx, byte [edx]
mov esi, eax
xor esi, 0xf
mov edi, edx
xor edi, esi
and edi, edx
add ecx, 0xf
sub ecx, edi
sub ecx, 0x5c95bb8
imul ecx, ecx, 0x4f40
mov edx, dword [esp + 0x118]
mov esi, edx
xor esi, 0xffffffff
and esi, 0x1862984c
mov edi, eax
xor edi, 0x1862984c
and edx, edi
mov ebx, ecx
xor ebx, 0xffffffff
and ebx, 0x1862984c
and ecx, edi
or esi, edx
or ebx, ecx
xor esi, ebx
mov dword [esp + 0x118], esi
mov ecx, dword [esp + 0xec]
mov ecx, dword [ecx + 1]
mov edx, dword [esp + 0x118]
mov esi, ecx
xor esi, 0xffffffff
and esi, 0x5ecdefd7
xor eax, 0x5ecdefd7
and ecx, eax
mov edi, edx
xor edi, 0xffffffff
and edi, 0x5ecdefd7
and edx, eax
or esi, ecx
or edi, edx
xor esi, edi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xe8], 0
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x100]
cmp eax, dword [ecx + 0x18]
jae 0x10065e08
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
sub edx, 0x676ddc2b
sub edx, 1
add edx, 0x676ddc2b
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 0x10065188
jmp 0x10065e47
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xf4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xe4], eax
cmp dword [esp + 0xe4], 0
setne dl
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov esi, eax
sub esi, 0x319f02f5
sub esi, 1
add esi, 0x319f02f5
imul eax, esi
and eax, 1
cmp eax, 0
sete dh
cmp ecx, 0xa
setl bl
mov bh, dh
and bh, bl
xor dh, bl
or bh, dh
test bh, 1
mov byte [esp + 0x6a], dl
jne 0x10065200
jmp 0x10065e47
mov al, byte [esp + 0x6a]
test al, 1
jne 0x100652ad
jmp 0x10065211
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
add edx, 0xc380af7e
sub edx, 1
sub edx, 0xc380af7e
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 0x1006525e
jmp 0x10065e64
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 0x100652a8
jmp 0x10065e64
jmp 0x10065de9
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0xe4]
add ecx, eax
mov dword [esp + 0xe4], ecx
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xe4]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x64], eax
call fcn.10021320
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.100f4320
mov ecx, dword [esp + 0x64]
cmp ecx, eax
je 0x100653ea
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 0x1006536f
jmp 0x10065e69
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0x57d63765
sub esi, 1
sub esi, 0x57d63765
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 0x100653e5
jmp 0x10065e69
jmp 0x10065de9
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xf8]
movzx eax, word [ecx + eax*2]
mov ecx, dword [esp + 0xfc]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x104]
cmp eax, dword [ecx + 0x78]
jb 0x10065bf1
mov eax, 0
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x104]
mov edx, dword [edx + 0x78]
mov esi, dword [esp + 0x104]
mov esi, dword [esi + 0x7c]
mov edi, eax
sub edi, edx
mov edx, eax
sub edx, esi
add edi, edx
sub eax, edi
cmp ecx, eax
jae 0x10065bf1
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0xe0]
add eax, 0xde8bf343
add eax, ecx
sub eax, 0xde8bf343
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0xc8]
call fcn.100df9e0
sub esp, 4
mov ecx, esp
mov dword [ecx + 4], 0
mov dword [ecx], 0x2e
lea ecx, [esp + 0xc8]
mov dword [esp + 0x60], eax
call fcn.100342d0
sub esp, 8
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc4], eax
cmp dword [esp + 0xc4], 0xffffffff
je 0x100659f0
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 0x10065511
jmp 0x10065e6e
mov al, 1
mov ecx, dword [esp + 0xc4]
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
mov edi, edx
add edi, 0xe740e582
sub edi, 1
sub edi, 0xe740e582
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
mov dl, bl
xor dl, 1
xor al, 1
mov dh, bh
and dh, 1
and ah, al
mov byte [esp + 0x5b], al
mov al, dl
and al, 1
mov byte [esp + 0x5a], al
mov al, byte [esp + 0x5b]
and bl, al
or dh, ah
mov ah, byte [esp + 0x5a]
or ah, bl
xor dh, ah
or bh, dl
xor bh, 1
or al, 1
and bh, al
or dh, bh
test dh, 1
mov dword [esp + 0x54], ecx
jne 0x100655a1
jmp 0x10065e6e
mov eax, esp
mov ecx, dword [esp + 0x54]
mov dword [eax + 8], ecx
lea edx, [esp + 0xa0]
mov dword [eax], edx
mov dword [eax + 4], 0
lea ecx, [esp + 0xc8]
call fcn.10045670
sub esp, 0xc
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0x60a83dc1
sub esi, 1
sub esi, 0x60a83dc1
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 0x1006563f
jmp 0x10065e73
lea ecx, [esp + 0xa0]
call fcn.1002b920
mov dl, 1
mov ecx, dword [0x101537c8]
mov esi, dword [0x101537c4]
mov edi, ecx
sub edi, 0x9a19a7d5
sub edi, 1
add edi, 0x9a19a7d5
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete dh
cmp esi, 0xa
setl bl
mov bh, dh
xor bh, 1
mov cl, bl
xor cl, 1
xor dl, 0
mov ch, bh
and ch, 0
and dh, dl
mov dword [esp + 0x50], eax
mov al, cl
and al, 0
and bl, dl
or ch, dh
or al, bl
xor ch, al
or bh, cl
xor bh, 1
or dl, 0
and bh, dl
or ch, bh
test ch, 1
jne 0x100656c6
jmp 0x10065e73
mov eax, esp
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call eax
sub esp, 4
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0x9c]
cmp ecx, dword [esp + 0x10c]
jne 0x10065719
lea eax, [esp + 0xc8]
mov dword [esp], eax
call fcn.10037260
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x9c], eax
cmp dword [esp + 0x9c], 0
je 0x100658e1
mov eax, dword [esp + 0x9c]
cmp eax, dword [esp + 0x10c]
je 0x100658e1
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 0x10065788
jmp 0x10065e88
mov al, 1
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov esi, dword [esp + 0xc4]
sub esi, 0x45c31574
add esi, 1
add esi, 0x45c31574
mov edi, dword [0x101537c8]
mov ebx, dword [0x101537c4]
mov byte [esp + 0x47], al
mov eax, edi
add eax, 0x8819d1bc
sub eax, 1
sub eax, 0x8819d1bc
imul edi, eax
and edi, 1
cmp edi, 0
sete al
cmp ebx, 0xa
setl ah
mov bl, al
xor bl, 1
mov bh, ah
xor bh, 1
mov byte [esp + 0x46], al
mov al, byte [esp + 0x47]
xor al, 0
mov byte [esp + 0x45], al
mov al, bl
and al, 0
mov byte [esp + 0x44], al
mov al, byte [esp + 0x46]
mov dword [esp + 0x40], ecx
mov cl, byte [esp + 0x45]
and al, cl
mov ch, bh
and ch, 0
and ah, cl
mov cl, byte [esp + 0x44]
or cl, al
or ch, ah
xor cl, ch
or bl, bh
xor bl, 1
mov al, byte [esp + 0x45]
or al, 0
and bl, al
or cl, bl
test cl, 1
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], esi
jne 0x10065851
jmp 0x10065e88
mov eax, esp
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
lea edx, [esp + 0x80]
mov dword [eax], edx
mov dword [eax + 8], 0xffffffff
lea ecx, [esp + 0xc8]
call fcn.10045670
sub esp, 0xc
lea ecx, [esp + 0x80]
call fcn.1002b920
mov ecx, 0
mov edx, dword [esp + 0x9c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x40]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0x34], ecx
call fcn.10064c00
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x120], eax
lea ecx, [esp + 0x80]
call fcn.1002b850
mov dword [esp + 0x7c], 1
jmp 0x100659df
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x10c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
sub esp, 8
mov dword [esp + 0x2c], eax
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0xf9293ce2
sub esi, 1
sub esi, 0xf9293ce2
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 0x1006597a
jmp 0x10065e8d
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x120], eax
mov dword [esp + 0x7c], 1
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
add edx, 0x38384bca
sub edx, 1
sub edx, 0x38384bca
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 0x100659da
jmp 0x10065e8d
jmp 0x100659df
lea ecx, [esp + 0xa0]
call fcn.1002b850
jmp 0x10065ac0
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
add edx, 0xcc245604
sub edx, 1
sub edx, 0xcc245604
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 0x10065a3d
jmp 0x10065ea5
mov al, 1
mov dword [esp + 0x7c], 2
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0x8ca7d433
sub esi, 1
add esi, 0x8ca7d433
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 0x10065abb
jmp 0x10065ea5
jmp 0x10065ac0
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 0x10065b31
jmp 0x10065eb2
lea ecx, [esp + 0xc8]
call fcn.1002b850
mov al, 1
mov ecx, 0
mov edx, dword [esp + 0x7c]
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 cl
mov ch, ah
xor ch, 1
mov bl, cl
xor bl, 1
xor al, 1
mov bh, ch
and bh, 1
and ah, al
mov byte [esp + 0x2b], al
mov al, bl
and al, 1
mov byte [esp + 0x2a], al
mov al, byte [esp + 0x2b]
and cl, al
or bh, ah
mov ah, byte [esp + 0x2a]
or ah, cl
xor bh, ah
or ch, bl
xor ch, 1
or al, 1
and ch, al
or bh, ch
test bh, 1
mov dword [esp + 0x24], edx
jne 0x10065bc5
jmp 0x10065eb2
mov eax, dword [esp + 0x24]
sub eax, 1
mov dword [esp + 0x20], eax
je 0x10065e13
jmp 0x10065bdb
mov eax, dword [esp + 0x24]
sub eax, 2
mov dword [esp + 0x1c], eax
je 0x10065e08
jmp 0x10065e22
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0xb7b80bfa
sub esi, 1
add esi, 0xb7b80bfa
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 0x10065c67
jmp 0x10065ec3
mov eax, 0xffffffff
mov ecx, dword [esp + 0x114]
xor ecx, 0xffffffff
mov edx, eax
xor edx, 1
xor eax, 0xf9c2462f
or ecx, edx
or eax, 0xf9c2462f
xor ecx, 0xffffffff
and ecx, eax
cmp ecx, 0
setne bl
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
sub edx, 0xedc33cd6
sub edx, 1
add edx, 0xedc33cd6
imul eax, edx
and eax, 1
cmp eax, 0
sete bh
cmp ecx, 0xa
setl al
mov ah, bh
and ah, al
xor bh, al
or ah, bh
test ah, 1
mov byte [esp + 0x1b], bl
jne 0x10065cf0
jmp 0x10065ec3
mov al, byte [esp + 0x1b]
test al, 1
jne 0x10065dc6
jmp 0x10065d01
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
sub edx, 0xc4e9e553
sub edx, 1
add edx, 0xc4e9e553
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 0x10065d4e
jmp 0x10065ec8
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x10c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
sub esp, 8
mov dword [esp + 0x120], eax
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
sub edx, 0xaf1c25d6
sub edx, 1
add edx, 0xaf1c25d6
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 0x10065dc1
jmp 0x10065ec8
jmp 0x10065e13
mov eax, 0
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0xe0]
sub eax, edx
sub ecx, eax
mov dword [esp + 0x120], ecx
jmp 0x10065e13
mov eax, 0
mov ecx, dword [esp + 0xe8]
sub eax, 1
sub ecx, eax
mov dword [esp + 0xe8], ecx
jmp 0x10065124
mov dword [esp + 0x120], 0
mov eax, dword [esp + 0x120]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x120], 0
jmp 0x10064ccb
jmp 0x10064da1
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x104], eax
jmp 0x10064eaa
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xf4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xe4], eax
jmp 0x10065188
jmp 0x1006525e
jmp 0x1006536f
jmp 0x10065511
lea ecx, [esp + 0xa0]
call fcn.1002b920
mov dword [esp + 0x14], eax
jmp 0x1006563f
jmp 0x10065788
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x120], eax
mov dword [esp + 0x7c], 1
jmp 0x1006597a
mov dword [esp + 0x7c], 2
jmp 0x10065a3d
lea ecx, [esp + 0xc8]
call fcn.1002b850
jmp 0x10065b31
jmp 0x10065c67
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x10c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
sub esp, 8
mov dword [esp + 0x120], eax
jmp 0x10065d4e