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

Disassembly:
push ebx
push esi
sub esp, 0xc8
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xc0], ecx
add eax, 0x18
mov dword [esp + 0xc4], eax
mov eax, dword [0x1005e3ac]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xb8]
add eax, 0xc8dd33cc
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
mov eax, dword [eax]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
cmp eax, 1
sete al
mov byte [esp + 0xaf], al
mov cl, byte [esp + 0xaf]
xor eax, eax
test cl, 1
mov dword [esp + 0xa8], eax
jne 0x10049674
jmp 0x1004920f
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xa4], eax
mov ecx, dword [0x1005fbd8]
mov eax, dword [0x1005fbd4]
mov edx, ecx
sub edx, 0x836925d2
sub edx, 1
add edx, 0x836925d2
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 0x10049260
jmp 0x1004967d
mov eax, dword [0x1005fbd8]
mov dword [esp + 0x98], eax
mov ecx, dword [0x1005fbd4]
mov dword [esp + 0x9c], ecx
add eax, 0xda6adfb8
sub eax, 1
sub eax, 0xda6adfb8
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x98]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl al
mov byte [esp + 0x91], al
mov ah, cl
xor ah, 0xff
mov byte [esp + 0x92], ah
xor al, 0xff
mov byte [esp + 0x93], al
mov dl, 1
xor dl, 0
mov byte [esp + 0x94], dl
and ah, 0
mov byte [esp + 0x95], ah
and cl, dl
mov byte [esp + 0x96], cl
and al, 0
mov byte [esp + 0x97], al
mov al, byte [esp + 0x97]
mov ah, byte [esp + 0x96]
mov dl, byte [esp + 0x95]
mov ch, byte [esp + 0x94]
mov cl, byte [esp + 0x91]
and cl, ch
or dl, ah
mov byte [esp + 0x8f], dl
or al, cl
mov byte [esp + 0x90], al
mov dl, byte [esp + 0x94]
mov ah, byte [esp + 0x93]
mov cl, byte [esp + 0x92]
mov ch, byte [esp + 0x90]
mov al, byte [esp + 0x8f]
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
mov byte [esp + 0x8e], al
mov al, byte [esp + 0x8e]
test al, 1
jne 0x1004937b
jmp 0x100497be
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0xc4]
mov dl, byte [edx + eax]
mov byte [esp + 0x8b], dl
mov esi, 0x18
xor edx, edx
div esi
mov al, byte [esp + 0x8b]
mov cl, byte [ecx + edx]
mov byte [esp + 0x8c], cl
xor al, 0xff
and al, 7
mov byte [esp + 0x8d], al
mov al, 0xff
xor al, 7
mov byte [esp + 0x8a], al
mov ecx, dword [esp + 0xc0]
mov dl, byte [esp + 0x8d]
mov al, byte [esp + 0x8a]
mov bl, byte [esp + 0x8c]
mov bh, byte [esp + 0x8b]
and bh, al
mov dh, bl
xor dh, 0xff
and dh, 7
and bl, al
mov eax, dword [esp + 0xa4]
or dl, bh
or dh, bl
xor dl, dh
mov byte [ecx + eax], dl
xor ecx, ecx
sub ecx, 1
sub eax, ecx
mov dword [esp + 0x78], eax
cmp eax, 0xd
sete al
mov byte [esp + 0x7f], al
mov eax, dword [0x1005fbd8]
mov dword [esp + 0x80], eax
mov eax, dword [0x1005fbd4]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov edx, eax
add edx, 0xdc79302e
sub edx, 1
sub edx, 0xdc79302e
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x75], al
cmp ecx, 0xa
setl cl
mov byte [esp + 0x76], cl
xor al, 0xff
mov byte [esp + 0x77], al
mov al, byte [esp + 0x76]
xor al, 0xff
mov byte [esp + 0x74], al
mov ah, byte [esp + 0x74]
mov cl, byte [esp + 0x77]
mov dh, byte [esp + 0x76]
mov bl, byte [esp + 0x75]
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 0x100494c0
jmp 0x100497be
mov eax, dword [0x1005fbd8]
mov dword [esp + 0x68], eax
mov ecx, dword [0x1005fbd4]
mov dword [esp + 0x6c], ecx
sub eax, 0xda41fa94
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x70]
sub ecx, 1
add ecx, 0xda41fa94
imul eax, ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x64]
and eax, 1
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
cmp eax, 0
sete al
mov byte [esp + 0x5f], al
mov eax, dword [esp + 0x6c]
cmp eax, 0xa
setl al
mov byte [esp + 0x5e], al
mov dl, byte [esp + 0x5e]
mov cl, byte [esp + 0x5f]
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x10049538
jmp 0x1004967d
mov eax, dword [0x1005fbd8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [0x1005fbd4]
mov dword [esp + 0x50], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
imul eax, ecx
and eax, 1
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
cmp ecx, 0
sete cl
mov byte [esp + 0x4a], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x4b], al
mov dl, byte [esp + 0x4b]
mov cl, byte [esp + 0x4a]
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [esp + 0x49], al
mov al, byte [esp + 0x49]
test al, 1
jne 0x100495ad
jmp 0x1004986e
mov eax, dword [0x1005fbd8]
mov dword [esp + 0x3c], eax
mov ecx, dword [0x1005fbd4]
mov dword [esp + 0x40], ecx
sub eax, 0x9035ba8f
sub eax, 1
add eax, 0x9035ba8f
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
imul eax, ecx
and eax, 1
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
cmp ecx, 0
sete cl
mov byte [esp + 0x36], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x37], al
mov cl, byte [esp + 0x37]
mov al, byte [esp + 0x36]
and al, cl
mov byte [esp + 0x35], al
mov al, byte [esp + 0x35]
mov dl, byte [esp + 0x37]
mov cl, byte [esp + 0x36]
xor cl, dl
or al, cl
mov byte [esp + 0x34], al
mov al, byte [esp + 0x34]
test al, 1
jne 0x10049632
jmp 0x1004986e
mov eax, dword [esp + 0x78]
mov cl, byte [esp + 0x7f]
test cl, 1
mov dword [esp + 0xa8], eax
jne 0x1004964f
jmp 0x1004920f
mov eax, dword [0x1005e3ac]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
add eax, 0xc8dd33cc
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 1
jmp 0x10049674
add esp, 0xc8
pop esi
pop ebx
ret
mov eax, dword [0x1005fbd8]
mov dword [esp + 0x20], eax
mov ecx, dword [0x1005fbd4]
mov dword [esp + 0x24], ecx
sub eax, 0x83f68854
sub eax, 1
add eax, 0x83f68854
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
imul eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
and eax, 1
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
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 + 0x17], al
mov al, byte [esp + 0x17]
test al, 1
jne 0x100496ec
jmp 0x10049873
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xc4]
mov al, byte [eax + ecx]
mov byte [esp + 0x16], al
xor eax, eax
sub eax, 0x241facac
sub eax, ecx
add eax, 0x241facac
xor eax, eax
sub eax, 0x18
mov eax, dword [esp + 0xa4]
mov ecx, 0x18
xor edx, edx
div ecx
mov eax, dword [esp + 0xbc]
mov al, byte [eax + edx]
mov byte [esp + 0x15], al
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xc0]
mov dh, byte [esp + 0x16]
mov bl, byte [esp + 0x15]
mov bh, dh
xor bh, 0xff
mov dl, bl
and dl, bh
xor bl, 0xff
and dh, bl
or dl, dh
mov byte [eax + ecx], dl
xor eax, eax
sub eax, ecx
mov ecx, dword [esp + 0xa4]
xor eax, eax
sub eax, 0x62ac2790
sub eax, ecx
mov eax, dword [0x1005fbd8]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [0x1005fbd4]
mov edx, ecx
sub edx, 0xcafb8f10
sub edx, 1
add edx, 0xcafb8f10
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 0x100497b9
jmp 0x10049873
jmp 0x10049260
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xc4]
mov cl, byte [ecx + eax]
mov byte [esp + 0xb], cl
mov ecx, 0x18
xor edx, edx
div ecx
mov eax, dword [esp + 0xbc]
add eax, edx
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xc0]
mov dh, byte [esp + 0xb]
mov esi, dword [esp + 0xc]
mov bl, byte [esi]
mov bh, dh
xor bh, 0xff
mov dl, bl
and dl, bh
xor bl, 0xff
and dh, bl
or dl, dh
mov byte [eax + ecx], dl
mov eax, 0x66411001
add eax, 0
sub eax, ecx
sub eax, 0x66411001
sub eax, 0x95575aa4
add eax, 1
xor eax, eax
sub eax, 0xa95f231
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 4]
sub ecx, eax
add ecx, 0xa95f231
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov ecx, dword [esp + 0xa4]
xor eax, eax
sub eax, 0xb9019ab0
sub eax, ecx
add eax, 0xb9019ab0
jmp 0x1004937b
jmp 0x100495ad
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xa4]
mov al, byte [eax + ecx]
mov byte [esp + 3], al
xor eax, eax
sub eax, 0
add eax, 0
mov eax, dword [esp + 0xa4]
sub eax, 0x4513aedd
sub eax, 0x18
add eax, 0x4513aedd
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xa4]
mov esi, 0x18
xor edx, edx
div esi
mov al, byte [esp + 3]
mov cl, byte [ecx + edx]
mov byte [esp + 2], cl
sub al, 0x6c
mov al, byte [esp + 3]
xor ecx, ecx
sub cl, al
add cl, 0
xor eax, eax
sub al, cl
mov ecx, dword [esp + 0xa4]
mov bl, byte [esp + 2]
mov bh, byte [esp + 3]
mov dl, bh
xor dl, 0xff
and dl, 0x6c
mov al, 0xff
xor al, 0x6c
and bh, al
mov dh, bl
xor dh, 0xff
and dh, 0x6c
and bl, al
mov eax, dword [esp + 0xc0]
or dl, bh
or dh, bl
xor dl, dh
mov byte [eax + ecx], dl
xor eax, eax
sub eax, 0x106c84f3
sub eax, ecx
add eax, 0x106c84f3
jmp 0x100496ec