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

Disassembly:
push ebx
push esi
sub esp, 0x12c
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x124], ecx
add eax, 0x19
mov dword [esp + 0x128], eax
mov eax, dword [0x1005e338]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x11c]
add eax, 0x594bcf46
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x118]
mov eax, dword [eax]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x114]
cmp eax, 1
sete al
mov byte [esp + 0x113], al
mov cl, byte [esp + 0x113]
xor eax, eax
test cl, 1
mov dword [esp + 0x10c], eax
jne 0x10039347
jmp 0x10038d1f
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x108], eax
mov ecx, dword [0x1005fcc0]
mov eax, dword [0x1005fcbc]
mov edx, ecx
add edx, 0xa7568965
sub edx, 1
sub edx, 0xa7568965
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, 1
mov al, cl
and al, 0xff
and bl, dl
mov ch, ah
and ch, 0xff
and dh, dl
or al, bl
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x10038d96
jmp 0x10039751
mov eax, dword [0x1005fcc0]
mov dword [esp + 0x100], eax
mov eax, dword [0x1005fcbc]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x100]
add eax, 0x989643c2
sub eax, 1
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xfc]
sub ecx, 0x989643c2
imul eax, ecx
mov dword [esp + 0xf8], eax
mov ecx, dword [esp + 0x104]
mov eax, dword [esp + 0xf8]
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0xf5], al
cmp ecx, 0xa
setl cl
mov byte [esp + 0xf6], cl
and al, cl
mov byte [esp + 0xf7], al
mov al, byte [esp + 0xf7]
mov dl, byte [esp + 0xf6]
mov cl, byte [esp + 0xf5]
xor cl, dl
or al, cl
mov byte [esp + 0xf4], al
mov al, byte [esp + 0xf4]
test al, 1
jne 0x10038e4a
jmp 0x10039751
mov eax, dword [0x1005fcc0]
mov dword [esp + 0xf0], eax
mov eax, dword [0x1005fcbc]
mov dword [esp + 0xe8], eax
xor eax, eax
sub eax, 1
mov dword [esp + 0xec], eax
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0xf0]
add eax, ecx
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0xe4]
mov eax, dword [esp + 0xf0]
imul eax, ecx
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe0]
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [esp + 0xdf], al
mov al, byte [esp + 0xdf]
test al, 1
jne 0x10038edd
jmp 0x10039803
mov eax, dword [0x1005fcc0]
mov dword [esp + 0xd4], eax
mov eax, dword [0x1005fcbc]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xd4]
add eax, 0x8d1d3158
sub eax, 1
sub eax, 0x8d1d3158
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [esp + 0xcf], al
mov al, byte [esp + 0xcf]
test al, 1
jne 0x10038f5a
jmp 0x10039803
mov eax, dword [0x1005fcc0]
mov dword [esp + 0xc0], eax
mov ecx, dword [0x1005fcbc]
mov dword [esp + 0xc4], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0xc0]
imul eax, ecx
and eax, 1
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xbc]
cmp eax, 0
sete al
mov byte [esp + 0xb6], al
cmp ecx, 0xa
setl cl
mov byte [esp + 0xb7], cl
xor al, 0xff
mov byte [esp + 0xb8], al
xor cl, 0xff
mov byte [esp + 0xb9], cl
mov cl, 1
xor cl, 0
mov byte [esp + 0xba], cl
and al, 0
mov byte [esp + 0xbb], al
mov al, byte [esp + 0xb9]
mov dl, byte [esp + 0xba]
mov cl, byte [esp + 0xb6]
and cl, dl
mov byte [esp + 0xb4], cl
and al, 0
mov byte [esp + 0xb5], al
mov dl, byte [esp + 0xba]
mov ah, byte [esp + 0xb9]
mov cl, byte [esp + 0xb8]
mov ch, byte [esp + 0xb5]
mov bl, byte [esp + 0xb4]
mov al, byte [esp + 0xbb]
mov dh, byte [esp + 0xb7]
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
mov byte [esp + 0xb3], al
mov al, byte [esp + 0xb3]
test al, 1
jne 0x10039073
jmp 0x100395e9
mov eax, dword [0x1005fcc0]
mov dword [esp + 0xa4], eax
mov ecx, dword [0x1005fcbc]
mov dword [esp + 0xa8], ecx
add eax, 0xb522e061
sub eax, 1
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xac]
sub edx, 0xb522e061
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [esp + 0x9f], cl
cmp eax, 0xa
setl al
mov byte [esp + 0xa0], al
xor cl, 0xff
mov byte [esp + 0xa1], cl
xor al, 0xff
mov byte [esp + 0xa2], al
mov al, 1
xor al, 0
mov byte [esp + 0xa3], al
mov al, byte [esp + 0xa3]
mov dl, byte [esp + 0xa2]
mov cl, byte [esp + 0xa1]
mov dh, byte [esp + 0xa0]
mov bl, byte [esp + 0x9f]
mov ah, cl
and ah, 0
and bl, al
mov ch, dl
and ch, 0
and dh, al
or ah, bl
or ch, dh
xor ah, ch
mov byte [esp + 0x9c], ah
or cl, dl
xor cl, 0xff
mov byte [esp + 0x9d], cl
or al, 0
mov byte [esp + 0x9e], al
mov al, byte [esp + 0x9c]
mov dl, byte [esp + 0x9e]
mov cl, byte [esp + 0x9d]
and cl, dl
or al, cl
mov byte [esp + 0x9b], al
mov al, byte [esp + 0x9b]
test al, 1
jne 0x1003917b
jmp 0x10039808
mov ecx, dword [esp + 0x120]
mov eax, dword [esp + 0x108]
mov edx, dword [esp + 0x128]
mov dl, byte [edx + eax]
mov byte [esp + 0x98], dl
mov esi, 0x19
xor edx, edx
div esi
mov ah, byte [esp + 0x98]
mov cl, byte [ecx + edx]
mov dl, ah
xor dl, 0xff
and dl, 0xcf
mov ch, 0xff
xor ch, 0xcf
and ah, ch
mov al, cl
xor al, 0xff
and al, 0xcf
and cl, ch
or dl, ah
mov byte [esp + 0x99], dl
or al, cl
mov byte [esp + 0x9a], al
mov cl, byte [esp + 0x9a]
mov al, byte [esp + 0x99]
xor al, cl
mov byte [esp + 0x97], al
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x124]
mov dl, byte [esp + 0x97]
mov byte [ecx + eax], dl
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 1
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x90]
cmp eax, 0xb
sete al
mov byte [esp + 0x8e], al
mov ecx, dword [0x1005fcc0]
mov eax, dword [0x1005fcbc]
mov edx, ecx
add edx, 0xf211a2e8
sub edx, 1
sub edx, 0xf211a2e8
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [esp + 0x8f], al
mov al, byte [esp + 0x8f]
test al, 1
jne 0x10039280
jmp 0x10039808
mov eax, dword [0x1005fcc0]
mov dword [esp + 0x88], eax
mov eax, dword [0x1005fcbc]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x88]
add eax, 0xf4e34179
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
sub eax, 1
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
sub eax, 0xf4e34179
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x88]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x100392ff
jmp 0x100395e9
mov eax, dword [esp + 0x90]
mov cl, byte [esp + 0x8e]
test cl, 1
mov dword [esp + 0x10c], eax
jne 0x10039322
jmp 0x10038d1f
mov eax, dword [0x1005e338]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
add eax, 0x594bcf46
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
mov dword [eax], 1
jmp 0x10039347
mov eax, dword [0x1005fcc0]
mov dword [esp + 0x6c], eax
mov eax, dword [0x1005fcbc]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x6c]
mov ecx, eax
add ecx, 0xdc541477
sub ecx, 1
sub ecx, 0xdc541477
imul eax, ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
and ecx, 1
cmp ecx, 0
sete cl
mov byte [esp + 0x62], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x63], al
mov cl, byte [esp + 0x63]
mov al, byte [esp + 0x62]
mov dl, al
and dl, cl
mov byte [esp + 0x60], dl
xor al, cl
mov byte [esp + 0x61], al
mov cl, byte [esp + 0x61]
mov al, byte [esp + 0x60]
or al, cl
test al, 1
jne 0x100393c1
jmp 0x10039756
mov eax, dword [0x1005fcc0]
mov ecx, dword [0x1005fcbc]
mov dword [esp + 0x58], ecx
mov ecx, eax
add ecx, 0x22b166ee
sub ecx, 1
sub ecx, 0x22b166ee
imul eax, ecx
and eax, 1
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
cmp ecx, 0
sete cl
mov byte [esp + 0x53], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x54], al
xor cl, 0xff
mov byte [esp + 0x55], cl
xor al, 0xff
mov byte [esp + 0x56], al
mov al, 1
xor al, 0
mov byte [esp + 0x57], al
mov ch, byte [esp + 0x57]
mov cl, byte [esp + 0x54]
mov al, byte [esp + 0x56]
mov ah, byte [esp + 0x53]
mov dl, byte [esp + 0x55]
and dl, 0
and ah, ch
and al, 0
and cl, ch
or dl, ah
mov byte [esp + 0x51], dl
or al, cl
mov byte [esp + 0x52], al
mov cl, byte [esp + 0x56]
mov al, byte [esp + 0x55]
mov ah, byte [esp + 0x52]
mov dl, byte [esp + 0x51]
xor dl, ah
mov byte [esp + 0x4f], dl
or al, cl
mov byte [esp + 0x50], al
mov al, byte [esp + 0x4f]
mov dl, byte [esp + 0x57]
mov cl, byte [esp + 0x50]
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
mov byte [esp + 0x4e], al
mov al, byte [esp + 0x4e]
test al, 1
jne 0x1003948c
jmp 0x10039756
mov eax, dword [0x1005fcc0]
mov dword [esp + 0x40], eax
mov ecx, dword [0x1005fcbc]
mov dword [esp + 0x44], ecx
sub eax, 0x3a57226
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
sub ecx, 1
add ecx, 0x3a57226
imul eax, ecx
and eax, 1
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
cmp ecx, 0
sete cl
mov byte [esp + 0x38], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x39], al
xor cl, 0xff
mov byte [esp + 0x3a], cl
xor al, 0xff
mov byte [esp + 0x3b], al
mov al, 1
xor al, 1
mov byte [esp + 0x37], al
mov cl, byte [esp + 0x37]
mov dl, byte [esp + 0x3b]
mov al, byte [esp + 0x3a]
mov dh, byte [esp + 0x39]
mov bl, byte [esp + 0x38]
mov ah, al
and ah, 0xff
and bl, cl
mov ch, dl
and ch, 0xff
and dh, cl
or ah, bl
or ch, dh
xor ah, ch
mov byte [esp + 0x35], ah
or al, dl
xor al, 0xff
or cl, 1
and al, cl
mov byte [esp + 0x36], al
mov cl, byte [esp + 0x36]
mov al, byte [esp + 0x35]
or al, cl
test al, 1
jne 0x10039544
jmp 0x10039894
mov eax, dword [0x1005fcc0]
mov ecx, dword [0x1005fcbc]
mov dword [esp + 0x2c], ecx
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
and eax, 1
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
cmp eax, 0
sete al
mov byte [esp + 0x2b], al
mov ah, byte [esp + 0x2b]
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xa
setl dl
mov al, ah
xor al, 0xff
mov byte [esp + 0x27], al
mov cl, dl
xor cl, 0xff
mov byte [esp + 0x28], cl
mov ch, 1
xor ch, 0
mov byte [esp + 0x29], ch
and al, 0
and ah, ch
and cl, 0
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [esp + 0x2a], al
mov al, byte [esp + 0x2a]
mov dl, byte [esp + 0x29]
mov ah, byte [esp + 0x28]
mov cl, byte [esp + 0x27]
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
mov byte [esp + 0x26], al
mov al, byte [esp + 0x26]
test al, 1
jne 0x100395e0
jmp 0x10039894
add esp, 0x12c
pop esi
pop ebx
ret
mov eax, dword [0x1005fcc0]
mov dword [esp + 0x1c], eax
mov eax, dword [0x1005fcbc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
sub eax, 0x59e422b6
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
sub eax, 1
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, 0x59e422b6
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
imul eax, ecx
and eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x1003965b
jmp 0x1003975b
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x108]
mov al, byte [eax + ecx]
mov byte [esp + 0xb], al
mov eax, dword [esp + 0x108]
mov ecx, 0x19
xor edx, edx
div ecx
mov eax, dword [esp + 0x120]
mov al, byte [eax + edx]
mov byte [esp + 9], al
mov al, 0x32
add al, 0
mov byte [esp + 0xa], al
mov cl, byte [esp + 0xb]
mov al, byte [esp + 0xa]
sub al, cl
sub al, 0x32
sub al, 0xa2
mov al, byte [esp + 0xb]
mov dl, byte [esp + 9]
xor ecx, ecx
sub cl, dl
add al, cl
mov cl, byte [esp + 0xb]
mov dl, byte [esp + 9]
mov ah, cl
xor ah, 0xff
mov al, dl
and al, ah
xor dl, 0xff
and cl, dl
or al, cl
mov byte [esp + 8], al
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x108]
mov dl, byte [esp + 8]
mov byte [eax + ecx], dl
mov ecx, dword [0x1005fcc0]
mov eax, dword [0x1005fcbc]
mov edx, ecx
add edx, 0x870b0fd8
sub edx, 1
sub edx, 0x870b0fd8
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, 1
mov al, cl
and al, 0xff
and bl, dl
mov ch, ah
and ch, 0xff
and dh, dl
or al, bl
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x1003974c
jmp 0x1003975b
jmp 0x10039073
jmp 0x10038d96
jmp 0x100393c1
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x128]
mov cl, byte [ecx + eax]
mov byte [esp + 6], cl
mov esi, 0x19
xor edx, edx
div esi
mov eax, dword [esp + 0x120]
mov al, byte [eax + edx]
mov byte [esp + 7], al
xor eax, eax
sub al, cl
add al, 0
mov al, byte [esp + 7]
mov cl, byte [esp + 6]
mov dl, cl
xor dl, 0xff
and dl, 0x12
mov byte [esp + 2], dl
mov dl, 0xff
xor dl, 0x12
mov byte [esp + 3], dl
and cl, dl
mov byte [esp + 4], cl
xor al, 0xff
and al, 0x12
mov byte [esp + 5], al
mov ecx, dword [esp + 0x124]
mov dh, byte [esp + 5]
mov bh, byte [esp + 4]
mov dl, byte [esp + 2]
mov al, byte [esp + 3]
mov bl, byte [esp + 7]
and bl, al
mov eax, dword [esp + 0x108]
or dl, bh
or dh, bl
xor dl, dh
mov byte [ecx + eax], dl
add eax, 0x19c609b1
sub eax, 1
sub eax, 0x19c609b1
mov eax, dword [esp + 0x108]
sub eax, 0x40a26f4e
jmp 0x1003965b
jmp 0x10038edd
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x108]
mov al, byte [eax + ecx]
mov byte [esp + 1], al
xor eax, eax
sub eax, 0xe45421f6
mov ecx, dword [esp + 0x120]
mov eax, dword [esp + 0x108]
mov esi, 0x19
xor edx, edx
div esi
mov al, byte [esp + 1]
mov cl, byte [ecx + edx]
mov byte [esp], cl
sub al, 0xbd
sub al, cl
add al, 0xbd
mov ecx, dword [esp + 0x108]
mov bl, byte [esp]
mov bh, byte [esp + 1]
mov dl, bh
xor dl, 0xff
and dl, 0x2b
mov al, 0xff
xor al, 0x2b
and bh, al
mov dh, bl
xor dh, 0xff
and dh, 0x2b
and bl, al
mov eax, dword [esp + 0x124]
or dl, bh
or dh, bl
xor dl, dh
mov byte [eax + ecx], dl
mov ecx, dword [esp + 0x108]
xor eax, eax
sub eax, ecx
add eax, 0
jmp 0x1003917b
jmp 0x10039544