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

Disassembly:
sub esp, 0x2c
push ebx
mov ebx, dword [esp + 0x38]
push ebp
push esi
mov esi, dword [esp + 0x3c]
mov cl, byte [ebx + 0xd]
push edi
cmp cl, 9
je 0x100c49ec
cmp cl, 8
jne 0x100c4a27
movzx eax, word [ebx + 8]
cmp eax, dword [esi + 0x78]
jne 0x100c4a27
cmp byte [ebx + 6], 0
jl 0x100c4a27
mov edx, dword [esi + 0x40]
add edx, 0xc
cmp byte [edx - 6], 0xf
jne 0x100c4a27
movzx eax, byte [edx - 5]
movzx ecx, cl
and ecx, 1
not ecx
and ecx, 5
sub ecx, 0xffffff80
cmp eax, ecx
jne 0x100c4a27
mov dword [esi + 0x40], edx
mov eax, dword [edx - 4]
add eax, edx
jmp 0x100c4a29
xor eax, eax
push 0xef
push ebx
push esi
mov dword [esp + 0x2c], eax
call fcn.100ca570
mov edx, dword [esi + 0x48]
mov ebp, eax
movzx eax, word [ebx]
mov edi, 0xef
add esp, 0xc
mov dword [esp + 0x18], ebp
btr edi, ebp
movzx ebx, byte [edx + eax*8 + 6]
test bl, bl
jns 0x100c4a69
push edi
push eax
push esi
call fcn.100ca4b0
mov edx, dword [esi + 0x48]
add esp, 0xc
mov ebx, eax
mov eax, dword [esi + 0x60]
mov ebp, dword [esp + 0x44]
btr eax, ebx
mov dword [esi + 0x60], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], 0x8000
movzx ecx, word [ebp + 2]
mov eax, ecx
mov dword [esp + 0x14], 0x80
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], 0x80
lea eax, [edx + eax*8]
mov dword [esp + 0x34], eax
mov al, byte [eax + 4]
mov byte [esp + 0x40], al
cmp cx, word [esp + 0x24]
jb 0x100c4b2f
movzx edx, byte [edx + ecx*8 + 6]
btr edi, ebx
mov cl, al
mov dword [esp + 0x14], edx
and cl, 0x1f
mov byte [esp + 0x44], cl
test dl, dl
jns 0x100c4af8
cmp cl, 0xe
mov edx, 0xff00
mov eax, edi
cmove eax, edx
push eax
push dword [esp + 0x30]
push esi
call fcn.100ca4b0
mov cl, byte [esp + 0x50]
mov edx, eax
mov eax, dword [esi + 0x60]
add esp, 0xc
mov dword [esp + 0x14], edx
jmp 0x100c4afc
mov eax, dword [esp + 0x1c]
btr eax, edx
mov dword [esi + 0x60], eax
cmp cl, 4
je 0x100c4b2f
mov eax, dword [esi + 0x58]
btr edi, edx
and eax, edi
jne 0x100c4b1f
push edi
push esi
call fcn.100ca7c0
add esp, 8
mov ecx, eax
jmp 0x100c4b22
bsr ecx, eax
mov eax, dword [esi + 0x5c]
bts eax, ecx
mov dword [esp + 0x28], ecx
mov dword [esi + 0x5c], eax
mov edi, dword [esp + 0x20]
mov ecx, dword [esi + 0x40]
mov dword [esp + 0x2c], ecx
test edi, edi
je 0x100c4b62
cmp byte [ebp + 0xd], 9
jne 0x100c4b62
mov edx, dword [esp + 0x18]
lea eax, [ecx - 6]
sub edi, ecx
mov byte [ecx - 5], 0x84
mov dword [ecx - 4], edi
xor edi, edi
mov dword [esp + 0x1c], eax
mov byte [eax], 0xf
jmp 0x100c4bff
mov ebp, dword [esi + 0x4c]
sub ebp, 0x128
jne 0x100c4be2
mov edx, dword [esi + 0x78]
mov eax, dword [esi + 0x48]
cmp byte [eax + edx*8 + 5], 0x10
lea edx, [eax + edx*8]
je 0x100c4be2
mov ecx, dword [esi + 0xb0]
mov eax, dword [esi + 0x78]
inc eax
cmp eax, dword [ecx + 8]
jae 0x100c4b92
cmp byte [edx + 0xd], 0x10
je 0x100c4bde
mov ecx, dword [esp + 0x2c]
mov dl, byte [ecx]
cmp dl, 0xf
jne 0x100c4ba6
mov al, byte [ecx + 1]
and al, 0xf0
cmp al, 0x80
je 0x100c4be2
and dl, 0xf0
cmp dl, 0x70
je 0x100c4be2
mov edx, dword [esp + 0x18]
mov al, dl
mov cl, dl
mov byte [esp + 0x44], al
and cl, 7
mov al, cl
shl cl, 3
sub cl, 0x40
add al, cl
mov ecx, dword [esp + 0x2c]
mov byte [ecx - 1], al
lea eax, [ecx - 2]
mov dword [ecx - 5], 0x330000fe
mov dword [esp + 0x1c], eax
jmp 0x100c4c03
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
lea eax, [ecx - 5]
mov dword [esp + 0x1c], eax
mov al, dl
mov dword [ecx - 4], ebp
and al, 7
mov ebp, dword [esp + 0x1c]
sub al, 0x48
mov byte [ebp], al
mov eax, ebp
mov byte [esp + 0x44], dl
mov word [eax - 2], 0x75
mov ebp, edx
mov ah, byte [esp + 0x44]
and ah, 7
mov al, ah
mov byte [esp + 0x44], ah
shl al, 3
mov cl, ah
add cl, al
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x13], cl
sub cl, 0x40
and ebp, 0x80
mov byte [esp + 0x12], cl
mov dword [esp + 0x38], ebp
mov byte [eax - 3], cl
mov dword [eax - 7], 0x850000fe
jne 0x100c4c61
lea ebp, [eax - 5]
mov eax, edx
and al, 7
mov byte [ebp], 0x10
cmp al, 4
jne 0x100c4c58
dec ebp
mov byte [ebp], 0x24
mov byte [esp + 0x11], 0x40
mov eax, edx
jmp 0x100c4c75
lea ebp, [eax - 8]
mov eax, 5
mov dword [ebp], 0x10
mov byte [esp + 0x11], 0
mov cl, byte [esp + 0x44]
and al, 7
shl cl, 3
add al, cl
mov byte [esp + 0x10], cl
add al, byte [esp + 0x11]
mov ecx, dword [esp + 0x2c]
mov byte [ebp - 1], al
lea eax, [ebp - 2]
mov dword [ebp - 5], 0x8b0000fe
mov dword [esp + 0x20], eax
test edi, edi
je 0x100c4cb2
sub edi, eax
mov byte [eax - 5], 0x84
lea ecx, [eax - 6]
mov dword [eax - 4], edi
mov byte [ecx], 0xf
jmp 0x100c4cc2
sub cl, al
mov byte [eax - 2], 0x74
mov byte [eax - 1], cl
lea ecx, [eax - 2]
mov dword [esp + 0x20], eax
mov al, byte [esp + 0x40]
and al, 0x1f
mov dword [esi + 0x40], ecx
mov byte [esp + 0x40], al
cmp al, 0xe
jne 0x100c4d98
mov eax, dword [esp + 0x24]
cmp word [esp + 0x30], ax
jae 0x100c4d34
mov edi, dword [esp + 0x34]
mov eax, dword [edi]
push dword [eax]
push 8
push edx
push 0x838107
push esi
call fcn.100c96d0
mov eax, dword [esi + 0x40]
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x2c]
sub cl, al
mov byte [eax - 2], 0x75
mov byte [eax - 1], cl
add eax, 0xfffffffe
mov dword [esi + 0x40], eax
mov eax, dword [edi]
push dword [eax + 4]
push 0xc
push ebp
push 0x838107
push esi
call fcn.100c96d0
mov dl, byte [esi + 0x40]
add esp, 0x28
mov al, byte [esp + 0x40]
jmp 0x100c4e43
mov ecx, dword [esi + 0x40]
mov al, byte [esp + 0x20]
push 8
push edx
push dword [esp + 0x1c]
sub al, cl
mov byte [ecx - 2], 0x7a
mov byte [ecx - 1], al
lea eax, [ecx - 2]
push 0x2e0f66fc
push esi
mov dword [esi + 0x40], eax
call fcn.100c9a80
mov eax, dword [esi + 0x40]
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x2c]
sub cl, al
push 0xc
mov byte [eax - 1], cl
mov byte [eax - 2], 0x73
add eax, 0xfffffffd
push ebp
push 7
push 0x830000fe
mov dword [esi + 0x40], eax
push esi
mov byte [eax], 0xf2
call fcn.100c9a80
mov dl, byte [esi + 0x40]
add esp, 0x28
mov al, byte [esp + 0x40]
jmp 0x100c4e43
cmp al, 2
jbe 0x100c4deb
mov eax, dword [esp + 0x24]
cmp word [esp + 0x30], ax
jae 0x100c4dbd
mov eax, dword [esp + 0x34]
push dword [eax]
push 8
push edx
push 0x838107
push esi
call fcn.100c96d0
jmp 0x100c4dcf
push 8
push edx
push dword [esp + 0x1c]
push 0x3b0000fe
push esi
call fcn.100c9a80
mov eax, dword [esi + 0x40]
add esp, 0x14
mov ecx, dword [esp + 0x20]
sub cl, al
mov byte [eax - 2], 0x75
lea edx, [eax - 2]
mov byte [eax - 1], cl
mov al, byte [esp + 0x40]
jmp 0x100c4dee
mov edx, dword [esi + 0x40]
mov ebp, dword [esp + 0x18]
dec edx
cmp dword [esp + 0x38], 0
mov cl, al
mov dword [esi + 0x40], edx
not cl
mov byte [edx], cl
mov edx, dword [esi + 0x40]
jne 0x100c4e1e
dec edx
mov ecx, ebp
and cl, 7
mov byte [edx], 0xc
cmp cl, 4
jne 0x100c4e18
dec edx
mov byte [edx], 0x24
mov ah, 0x78
mov ecx, ebp
jmp 0x100c4e2e
add edx, 0xfffffffc
mov ecx, 5
mov ah, 0x38
mov dword [edx], 0xc
and cl, 7
mov dword [edx - 5], 0x830000fe
add cl, ah
mov byte [edx - 1], cl
add edx, 0xfffffffe
mov dword [esi + 0x40], edx
mov ecx, dword [esp + 0x1c]
sub dl, cl
mov byte [ecx - 1], dl
mov edx, dword [esi + 0x40]
cmp edx, dword [esi + 0x44]
jb 0x100c5187
mov ecx, dword [esp + 0x24]
cmp word [esp + 0x30], cx
jae 0x100c4f17
mov edi, dword [esp + 0x34]
mov ah, byte [edi + 4]
mov cl, ah
and cl, 0x1f
cmp cl, 4
jne 0x100c4e7f
mov ecx, dword [edi]
mov edi, dword [ecx + 8]
jmp 0x100c4ec2
cmp cl, 0xe
jne 0x100c4e93
mov ecx, dword [edi]
mov edi, dword [ecx]
mov dword [esp + 0x2c], edi
mov edi, dword [ecx + 4]
add edi, edi
jmp 0x100c4ead
cmp cl, 2
ja 0x100c4ea1
movzx edi, ah
and edi, 0x1f
dec edi
jmp 0x100c4ec2
mov ecx, dword [edi]
mov dword [esp + 0x2c], ecx
lea edi, [ecx - 0x4c11db7]
mov ecx, edi
rol edi, 0xe
xor ecx, dword [esp + 0x2c]
sub ecx, edi
rol edi, 5
xor edi, ecx
rol ecx, 0xd
sub edi, ecx
mov ecx, ebx
and ecx, 0x80
test edi, edi
jne 0x100c4f24
test ecx, ecx
jne 0x100c4ee6
dec edx
mov eax, ebx
and al, 7
mov byte [edx], 0x14
cmp al, 4
jne 0x100c4ee2
dec edx
mov byte [edx], 0x24
mov al, 0x40
jmp 0x100c4ef6
add edx, 0xfffffffc
mov ebx, 5
xor al, al
mov dword [edx], 0x14
and bl, 7
mov dword [edx - 5], 0x8b0000fe
add bl, byte [esp + 0x10]
add bl, al
lea eax, [edx - 2]
pop edi
mov byte [edx - 1], bl
mov dword [esi + 0x40], eax
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov ecx, ebx
mov edi, 1
and ecx, 0x80
mov dword [esp + 0x38], ebx
test ecx, ecx
jne 0x100c4f46
dec edx
mov ecx, ebx
and cl, 7
mov byte [edx], 0x14
cmp cl, 4
jne 0x100c4f3e
dec edx
mov byte [edx], 0x24
mov ecx, dword [esp + 0x38]
mov ah, 0x40
jmp 0x100c4f56
add edx, 0xfffffffc
mov ecx, 5
xor ah, ah
mov dword [edx], 0x14
and cl, 7
mov dword [edx - 5], 0x30000fe
add cl, byte [esp + 0x10]
add cl, ah
mov byte [edx - 1], cl
add edx, 0xfffffffd
mov ecx, dword [esi + 0x68]
mov dword [esi + 0x40], edx
and ecx, 0x200
je 0x100c4f93
mov byte [edx], 0x18
mov ecx, dword [esi + 0x40]
mov dl, byte [esp + 0x12]
mov byte [ecx - 1], dl
mov dword [ecx - 5], 0x6b0000fe
add ecx, 0xfffffffe
jmp 0x100c4fde
mov cl, byte [esp + 0x44]
mov byte [edx], 3
sub cl, 0x20
mov edx, dword [esi + 0x40]
mov byte [edx - 1], cl
mov ecx, ebp
mov dword [edx - 5], 0xc10000fe
and ecx, 7
add edx, 0xfffffffe
cmp cl, 5
je 0x100c4fbb
mov ah, 4
jmp 0x100c4fc1
dec edx
mov ah, 0x44
mov byte [edx], 0
mov cl, byte [esp + 0x13]
add cl, 0x40
mov dword [edx - 6], 0x8d0000fe
mov byte [edx - 1], cl
mov cl, byte [esp + 0x10]
add cl, ah
mov byte [edx - 2], cl
lea ecx, [edx - 3]
mov dword [esi + 0x40], ecx
mov ecx, dword [esp + 0x24]
cmp word [esp + 0x30], cx
jae 0x100c5013
push edi
push ebp
push 0x838104
push esi
call fcn.100c9730
push 0x1c
push ebx
push ebp
push 0x8b0000fe
push esi
call fcn.100c9a80
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
cmp al, 4
jne 0x100c5043
push 8
push dword [esp + 0x18]
push ebp
push 0x230000fe
push esi
call fcn.100c9a80
push 0x1c
push ebx
push ebp
push 0x8b0000fe
push esi
call fcn.100c9a80
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
push 0x1c
push ebx
push ebp
push 0x230000fe
push esi
call fcn.100c9a80
mov eax, dword [esi + 0x40]
add esp, 0x14
mov ebx, dword [esp + 0x28]
mov dl, byte [esp + 0x10]
and bl, 7
sub dl, 0x40
mov dword [esp + 0x28], ebx
mov dword [eax - 5], 0x2b0000fe
add dl, bl
mov byte [eax - 1], dl
add eax, 0xfffffffd
mov dword [esi + 0x40], eax
mov byte [eax], 0xd
mov al, bl
mov ecx, dword [esi + 0x40]
sub al, 0x40
shl bl, 3
mov byte [ecx - 1], al
lea eax, [ecx - 5]
mov dword [ecx - 5], 0xc10000fe
mov byte [ecx - 3], dl
mov dword [ecx - 7], 0x330000fe
mov ch, byte [esp + 0x44]
mov dword [esi + 0x40], eax
mov cl, ch
mov byte [eax], 5
sub cl, 0x40
mov eax, dword [esi + 0x40]
sub ch, 0x40
add ch, bl
mov byte [eax - 1], cl
mov dword [eax - 5], 0xc10000fe
mov byte [eax - 3], ch
mov dword [eax - 7], 0x2b0000fe
add eax, 0xfffffffb
cmp byte [esp + 0x40], 0xe
mov dword [esi + 0x40], eax
mov byte [eax], 0xe
mov edx, dword [esi + 0x40]
mov byte [edx - 1], cl
lea edi, [edx - 6]
mov dword [edx - 5], 0xc10000fe
mov byte [edx - 3], ch
mov dword [edx - 7], 0x330000fe
jne 0x100c5151
mov al, byte [esp + 0x12]
push dword [esp + 0x34]
mov byte [edx - 5], al
mov dword [edx - 9], 0x30000fe
push esi
mov dword [esi + 0x40], edi
call fcn.100caf90
add eax, 4
push eax
push 4
push ebp
push 0x8b0000fe
push esi
call fcn.100c9a80
mov ecx, dword [esp + 0x30]
add esp, 0x1c
mov eax, dword [esi + 0x40]
and cl, 7
shl cl, 3
sub cl, 0x40
add cl, byte [esp + 0x28]
mov byte [eax - 1], cl
mov dword [eax - 5], 0x7e0f66fc
add eax, 0xfffffffc
pop edi
mov dword [esi + 0x40], eax
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov ecx, dword [esp + 0x14]
mov al, cl
push 0xfb3ee249
push ecx
and al, 7
mov dword [edx - 9], 0x8b0000fe
sub al, 0x40
push ebp
add al, bl
push 0x8d0000fe
mov byte [edx - 5], al
push esi
mov dword [esi + 0x40], edi
call fcn.100c9a80
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
push esi
call fcn.100c6640
int3