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

Disassembly:
sub esp, 0xdc
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0xd4], eax
mov eax, dword [ecx]
push ebx
mov ebx, dword [esp + 0xe4]
push ebp
mov eax, dword [eax]
push esi
push edi
xor edi, edi
mov dword [esp + 0x24], ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x24]
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ebx
mov esi, dword [edi + 8]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x38], ecx
mov dword [esp + 0x6c], esi
cmp dword [eax + 0x24], ecx
je 0x100b9ac5
mov eax, dword [eax + 0xc]
jmp 0x100ba4d9
movzx ecx, word [esi + 0x1a]
mov edx, 0x18
mov eax, dword [esi + 0x2c]
test al, 0x20
mov dword [esp + 0x58], ecx
movzx ecx, word [esi + 0x1c]
mov dword [esp + 0x5c], ecx
movzx ecx, word [esi + 0x32]
mov dword [esp + 0x68], ecx
movzx ecx, word [esi + 0x30]
mov dword [esp + 0x60], ecx
movzx ecx, cx
mov dword [esp + 0x64], ecx
mov ecx, dword [esi]
mov dword [esp + 0x50], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x54], ecx
movzx ecx, word [esi + 0x16]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], eax
mov eax, 0x1bf
cmove edx, eax
movzx ecx, cx
movzx eax, word [esi + 0x18]
mov dword [esp + 0x78], ecx
mov ecx, edx
and ecx, 0xffffffc3
movzx ebp, ax
test byte [ebx + 0x38], 4
push ebx
cmove ecx, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
mov edx, dword [edi + 4]
push ecx
push ebp
push dword [eax + 0x2c]
lea ecx, [esp + 0x90]
mov dword [esp + 0x30], ebp
call fcn.100b7010
mov ebp, eax
add esp, 0x10
xor eax, eax
mov word [esi + 0x12], ax
mov ecx, dword [ebx + 8]
movzx ecx, word [ecx]
mov eax, ecx
mov dword [esp + 0x74], eax
cmp ax, 0xa
jg 0x100b9b73
xor eax, eax
jmp 0x100b9b88
movsx eax, cx
cdq
push edx
push eax
call fcn.100239d0
add esp, 8
sub ax, 0x21
movzx eax, ax
mov dword [esp + 0x2c], eax
mov ecx, 0x100
movzx eax, ax
mov dword [esp + 0x70], eax
test ebp, ebp
je 0x100ba354
movzx edx, word [ebp + 0xc]
mov eax, edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x3c], eax
cmp ax, cx
je 0x100b9bbd
test byte [ebp + 0xa], 0x80
je 0x100b9bed
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x20]
movsx ecx, word [eax + ecx*2]
test ecx, ecx
js 0x100b9be4
mov eax, dword [ebx + 0xc]
add ecx, ecx
mov eax, dword [eax + 4]
test dword [eax + ecx*8 + 4], 0xf
jne 0x100ba336
jmp 0x100b9bed
cmp ecx, 0xffffffff
je 0x100ba336
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
and ecx, dword [esi + 8]
and eax, dword [esi + 0xc]
or ecx, eax
jne 0x100ba336
mov eax, 0x100
test word [ebp + 0xa], ax
je 0x100b9c15
cmp edx, 0x10
je 0x100ba336
mov eax, dword [esp + 0x34]
mov cl, byte [eax + 0x24]
test cl, 0x58
je 0x100b9c52
mov eax, dword [ebp]
mov edx, dword [eax + 4]
test dl, 3
je 0x100ba336
mov edi, dword [esp + 0x34]
mov eax, dword [eax + 0x24]
cmp eax, dword [edi + 0x2c]
mov edi, dword [esp + 0x24]
jne 0x100ba336
test cl, 0x18
je 0x100b9c52
test dl, 2
jne 0x100ba336
cmp byte [ebx + 0x36], 0
je 0x100b9c69
movzx eax, word [ebx + 0x32]
dec eax
cmp dword [esp + 0x20], eax
jne 0x100b9c69
or byte [edi + 0x10], 2
jmp 0x100b9c6d
or byte [edi + 0x10], 1
mov eax, dword [esp + 0x48]
movzx ecx, word [esi + 0x34]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x44]
mov word [esi + 0x18], ax
mov eax, dword [esp + 0x58]
mov word [esi + 0x1a], ax
mov eax, dword [esp + 0x5c]
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x60]
mov word [esi + 0x30], ax
cmp word [esp + 0x64], cx
jb 0x100b9cfb
movzx edi, ax
inc edi
cmp ecx, edi
jae 0x100b9cfb
mov ecx, dword [esp + 0x30]
add edi, 7
and edi, 0xfffffff8
push 0
lea eax, [edi*4]
push eax
call fcn.1001ec50
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100ba354
movzx ecx, word [esi + 0x34]
shl ecx, 2
push ecx
push dword [esi + 0x38]
push ebx
call fcn.1012ad80
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x40]
add esp, 0xc
cmp edx, eax
je 0x100b9cf4
mov ecx, dword [esp + 0x30]
call fcn.1001e7b0
mov dword [esi + 0x38], ebx
mov word [esi + 0x34], di
movzx ecx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
mov edi, dword [esp + 0x50]
mov dword [eax + ecx*4], ebp
mov ax, word [esi + 0x30]
mov ecx, dword [esi + 8]
inc ax
mov word [esi + 0x30], ax
not ecx
mov edx, dword [ebp + 0x24]
or edi, dword [ebp + 0x20]
or edx, dword [esp + 0x54]
and edi, ecx
movzx ebx, ax
mov eax, dword [esi + 0xc]
not eax
mov dword [esi], edi
and edx, eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 4], edx
test al, 1
je 0x100b9e48
mov edx, dword [ebp]
test dword [edx + 4], 0x1000
je 0x100b9dc0
lea edi, [ebx - 1]
mov dword [esp + 0x1c], 0x2e
xor ecx, ecx
test edi, edi
jle 0x100b9de1
mov ebx, dword [esi + 0x38]
mov esi, dword [esp + 0x1c]
mov eax, dword [ebx + ecx*4]
test eax, eax
je 0x100b9d7d
cmp dword [eax], edx
mov dword [esp + 0x1c], 0
cmove esi, dword [esp + 0x1c]
inc ecx
cmp ecx, edi
jl 0x100b9d67
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
test byte [eax + 0x38], 0x80
je 0x100b9e34
cmp word [esp + 0x2c], 0xa
jl 0x100b9e34
mov eax, dword [eax + 8]
mov edx, dword [esp + 0x20]
movzx edi, cx
movzx ebx, word [eax + edx*2]
cmp di, 0xa
jg 0x100b9de8
xor eax, eax
jmp 0x100b9dfd
mov eax, dword [edx + 0x14]
test eax, eax
je 0x100b9d8a
mov eax, dword [eax]
test eax, eax
je 0x100b9d8a
cdq
push edx
push eax
call fcn.100239d0
movsx ecx, ax
add esp, 8
mov dword [esp + 0x1c], ecx
jmp 0x100b9d8e
mov ecx, 0x2e
jmp 0x100b9d8e
movsx eax, di
cdq
push edx
push eax
call fcn.100239d0
add esp, 8
sub ax, 0x21
movzx eax, ax
sub eax, edi
sub eax, dword [esp + 0x2c]
add eax, 0xa
add eax, ebx
test ax, ax
jns 0x100b9e34
cmp word [esp + 0xf4], 2
jge 0x100ba32e
mov eax, dword [esp + 0x30]
test dword [eax + 0x50], 0x20000
jne 0x100ba32e
or dword [esi + 0x2c], 0x100000
or dword [esi + 0x2c], 4
mov edx, dword [esi + 0x2c]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
jmp 0x100ba006
test al, 0x82
je 0x100b9ee3
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov eax, dword [ebx + 4]
movsx eax, word [eax + ecx*2]
mov ecx, dword [esi + 0x2c]
or ecx, 1
mov dword [esi + 0x2c], ecx
cmp eax, 0xffffffff
je 0x100b9eb4
mov edi, ecx
mov edx, ecx
test eax, eax
js 0x100b9ec1
cmp word [esp + 0xf4], 0
jne 0x100b9ec1
movzx eax, word [ebx + 0x32]
mov ebx, eax
dec eax
cmp dword [esp + 0x20], eax
jne 0x100b9ec1
mov eax, dword [esp + 0x14]
test byte [eax + 0x38], 8
jne 0x100b9eb4
cmp ebx, 1
jne 0x100b9eaa
cmp byte [eax + 0x36], 0
je 0x100b9eaa
cmp word [esp + 0x3c], 2
je 0x100b9eb4
mov edx, ecx
or edx, 0x10000
jmp 0x100b9ebc
mov edx, ecx
or edx, 0x1000
mov edi, edx
mov dword [esi + 0x2c], edx
cmp byte [esp + 0x99], 1
jbe 0x100b9ed6
mov edx, edi
or edx, 0x200000
mov dword [esi + 0x2c], edx
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
jmp 0x100ba006
mov edi, dword [esp + 0x20]
test eax, 0x100
je 0x100b9f00
mov edx, dword [esi + 0x2c]
mov ebx, dword [esp + 0x28]
or edx, 8
mov dword [esi + 0x2c], edx
jmp 0x100ba006
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
push ebp
push edi
push dword [esp + 0x1c]
mov edx, dword [eax + 0x2c]
call fcn.100b9840
mov edx, dword [esi + 0x2c]
add esp, 0xc
test byte [esp + 0x3c], 0x24
je 0x100b9fde
or edx, 0x22
mov word [esi + 0x1a], ax
xor edi, edi
mov dword [esi + 0x2c], edx
mov eax, 0x100
mov dword [esp + 0x38], ebp
mov dword [esp + 0x28], edi
test word [ebp + 0xa], ax
je 0x100b9fd4
movzx edi, word [esi + 0x30]
lea eax, [ebp + 0x30]
mov dword [esp + 0x28], eax
inc edi
movzx eax, word [esi + 0x34]
cmp eax, edi
jae 0x100b9fb2
mov ecx, dword [esp + 0x30]
add edi, 7
and edi, 0xfffffff8
push 0
lea eax, [edi*4]
push eax
call fcn.1001ec50
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100ba354
movzx ecx, word [esi + 0x34]
shl ecx, 2
push ecx
push dword [esi + 0x38]
push ebx
call fcn.1012ad80
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x40]
add esp, 0xc
cmp edx, eax
je 0x100b9fab
mov ecx, dword [esp + 0x30]
call fcn.1001e7b0
mov dword [esi + 0x38], ebx
mov word [esi + 0x34], di
movzx ecx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
mov edi, dword [esp + 0x28]
mov dword [eax + ecx*4], edi
mov eax, 1
inc word [esi + 0x30]
or dword [esi + 0x2c], 0x10
mov edx, dword [esi + 0x2c]
mov word [esi + 0x1c], ax
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
jmp 0x100ba006
or edx, 0x12
mov word [esi + 0x1c], ax
mov dword [esi + 0x2c], edx
mov ebx, ebp
mov dword [esp + 0x28], ebx
test dl, 0x20
je 0x100ba000
movzx ecx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + ecx*4 - 8]
jmp 0x100ba002
xor ecx, ecx
mov dword [esp + 0x38], ecx
test dl, 2
je 0x100ba0a0
movzx eax, word [esi + 0x16]
mov ebp, dword [esp + 0x38]
movsx edi, ax
test ebp, ebp
je 0x100ba034
movzx ecx, word [ebp + 8]
test cx, cx
jg 0x100ba02b
add eax, ecx
jmp 0x100ba034
test byte [ebp + 0xa], 0x80
jne 0x100ba034
sub eax, 0x14
movzx ecx, ax
test ebx, ebx
je 0x100ba054
movzx edx, word [ebx + 8]
test dx, dx
jg 0x100ba048
add eax, edx
jmp 0x100ba051
test byte [ebx + 0xa], 0x80
jne 0x100ba054
add eax, 0xffffffec
movzx ecx, ax
movzx edx, cx
test ebp, ebp
je 0x100ba073
cmp word [ebp + 8], 0
jle 0x100ba073
test ebx, ebx
je 0x100ba073
cmp word [ebx + 8], 0
jle 0x100ba073
lea eax, [ecx - 0x14]
movzx edx, ax
xor ecx, ecx
test ebp, ebp
setne cl
xor eax, eax
test ebx, ebx
setne al
add ecx, eax
mov eax, 0xa
sub edi, ecx
cmp dx, 0xa
cmovl edx, eax
movzx eax, dx
cmp eax, edi
cmovl edi, eax
movzx eax, di
mov ebp, eax
jmp 0x100ba0fd
inc word [esi + 0x18]
movzx ecx, word [ebp + 8]
movzx edx, word [esi + 0x18]
test cx, cx
jg 0x100ba0ce
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
cmp word [eax + edi*2], 0
jl 0x100ba0ce
sub ecx, dword [esp + 0x1c]
add cx, word [esi + 0x16]
movzx eax, cx
mov ebp, eax
jmp 0x100ba0fd
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
mov cx, word [eax + edx*2]
sub cx, word [eax + edx*2 - 2]
add cx, word [esi + 0x16]
test dword [esp + 0x3c], 0x100
movzx eax, cx
mov ecx, eax
mov word [esi + 0x16], ax
mov ebp, eax
je 0x100ba101
lea eax, [ecx + 0xa]
movzx ebp, ax
mov word [esi + 0x16], ax
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x10]
movzx ebx, ax
mov eax, dword [ecx + 0x38]
and eax, 3
cmp al, 3
jne 0x100ba119
mov edi, ebx
jmp 0x100ba138
movsx ecx, word [ecx + 0x30]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, dword [esp + 0x34]
cdq
mov ecx, dword [ecx + 0x10]
movsx ecx, word [ecx + 0x28]
idiv ecx
inc eax
add eax, ebp
movzx edi, ax
mov eax, ebx
movsx edx, di
movzx ebx, ax
mov eax, dword [esp + 0x70]
movsx ecx, ax
cmp word [esp + 0x2c], di
jl 0x100ba179
lea eax, [edx + 0x31]
cmp ecx, eax
jle 0x100ba15b
mov eax, dword [esp + 0x2c]
jmp 0x100ba19d
lea eax, [edx + 0x1f]
cmp ecx, eax
jle 0x100ba169
mov eax, dword [esp + 0x2c]
inc eax
jmp 0x100ba19d
sub ecx, edx
movzx eax, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add ax, word [esp + 0x2c]
jmp 0x100ba19d
lea eax, [ecx + 0x31]
cmp edx, eax
jle 0x100ba185
movzx ecx, di
jmp 0x100ba1a0
lea eax, [ecx + 0x1f]
cmp edx, eax
jle 0x100ba191
lea eax, [edi + 1]
jmp 0x100ba19d
sub edx, ecx
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, di
movzx ecx, ax
test dword [esi + 0x2c], 0x4000140
movzx eax, cx
jne 0x100ba209
movsx edi, bp
add edi, 0x10
movsx edx, cx
cmp cx, bx
jl 0x100ba1e0
lea eax, [edi + 0x31]
cmp edx, eax
jle 0x100ba1c6
movzx eax, cx
jmp 0x100ba206
lea eax, [edi + 0x1f]
cmp edx, eax
jle 0x100ba1d2
lea eax, [ecx + 1]
jmp 0x100ba203
sub edx, edi
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, cx
jmp 0x100ba203
lea eax, [edx + 0x31]
cmp edi, eax
jle 0x100ba1eb
mov eax, ebx
jmp 0x100ba206
lea eax, [edx + 0x1f]
cmp edi, eax
jle 0x100ba1f7
lea eax, [ebx + 1]
jmp 0x100ba203
sub edi, edx
movzx eax, byte [edi + str._n_n_t_t_b_b_a_a_a]
add ax, bx
movzx eax, ax
movzx eax, ax
mov edi, dword [esp + 0x1c]
mov edx, esi
mov ebx, dword [esp + 0x24]
push dword [esp + 0x74]
movzx ecx, di
add eax, ecx
add eax, dword [esp + 0xf8]
mov word [esi + 0x14], ax
lea eax, [ecx + ebp]
add eax, dword [esp + 0xf8]
mov word [esi + 0x16], ax
mov ecx, dword [ebx + 4]
call fcn.100b95f0
add esp, 4
mov edx, esi
mov ecx, ebx
call fcn.100b9330
mov edx, dword [esi + 0x2c]
mov dword [esp + 0x18], eax
test dl, 2
je 0x100ba25e
mov eax, dword [esp + 0x78]
movzx ecx, ax
jmp 0x100ba261
movzx ecx, bp
mov ebx, dword [esp + 0x14]
mov word [esi + 0x16], cx
test dl, 0x10
jne 0x100ba320
movzx ecx, word [esi + 0x18]
cmp cx, word [ebx + 0x34]
jae 0x100ba320
cmp cx, word [ebx + 0x32]
jb 0x100ba293
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
je 0x100ba320
cmp ecx, 3
jbe 0x100ba2f9
mov ebp, dword [esp + 0x4c]
mov ecx, dword [ebp]
cmp dword [ecx + 0x128], 0
je 0x100ba2b2
inc dword [ebp + 0x24]
mov dword [ebp + 0xc], 9
cmp dword [ecx + 0x174], 0
je 0x100ba2f9
mov eax, dword [ebp + 0x98]
inc eax
mov dword [ebp + 0x98], eax
cmp eax, dword [ecx + 0x17c]
jb 0x100ba2f9
push dword [ecx + 0x178]
mov eax, dword [ecx + 0x174]
call eax
add esp, 4
test eax, eax
je 0x100ba2ef
inc dword [ebp + 0x24]
mov dword [ebp + 0xc], 9
mov dword [ebp + 0x98], 0
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + 0x34]
add eax, edi
mov edi, dword [esp + 0x24]
mov ecx, edi
push eax
push ebx
call fcn.100b9a60
mov eax, dword [esp + 0x48]
add esp, 8
mov word [esi + 0x16], ax
jmp 0x100ba336
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x24]
mov word [esi + 0x16], ax
jmp 0x100ba336
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x80]
call fcn.100b6cd0
cmp dword [esp + 0x18], 0
mov ebp, eax
mov ecx, 0x100
je 0x100b9b98
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
mov dword [esi], eax
mov eax, dword [esp + 0x54]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x58]
mov word [esi + 0x1a], ax
mov eax, dword [esp + 0x5c]
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x48]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x40]
mov word [esi + 0x18], bx
mov word [esi + 0x32], dx
mov word [esi + 0x16], ax
mov word [esi + 0x30], cx
cmp bx, dx
jne 0x100ba4d5
mov edx, dword [esp + 0x14]
movzx eax, bx
inc eax
movzx ecx, word [edx + 0x32]
cmp eax, ecx
jae 0x100ba4d5
mov ebp, dword [esp + 0x64]
cmp bx, bp
jne 0x100ba4d5
mov eax, dword [edx + 0x38]
test al, 0x40
jne 0x100ba4d5
test al, al
jns 0x100ba4d5
mov ecx, dword [esp + 0x30]
test dword [ecx + 0x50], 0x4000
jne 0x100ba4d5
mov eax, dword [edx + 8]
movzx ebx, bx
cmp word [eax + ebx*2 + 2], 0x2a
jl 0x100ba4d5
movzx eax, word [esi + 0x34]
movzx edi, bp
inc edi
cmp eax, edi
jae 0x100ba45c
add edi, 7
and edi, 0xfffffff8
push 0
lea eax, [edi*4]
push eax
call fcn.1001ec50
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x100ba42a
lea eax, [ebp + 7]
jmp 0x100ba4d9
movzx eax, word [esi + 0x34]
shl eax, 2
push eax
push dword [esi + 0x38]
push ebp
call fcn.1012ad80
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x40]
add esp, 0xc
cmp edx, eax
je 0x100ba451
mov ecx, dword [esp + 0x30]
call fcn.1001e7b0
mov edx, dword [esp + 0x14]
mov dword [esi + 0x38], ebp
mov word [esi + 0x34], di
movzx ecx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
inc word [esi + 0x18]
inc word [esi + 0x32]
mov dword [esp + 0x18], 0
mov dword [eax + ecx*4], 0
inc word [esi + 0x30]
or dword [esi + 0x2c], 0x8000
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x24]
mov di, word [eax + ebx*2]
sub di, word [eax + ebx*2 + 2]
mov eax, dword [esp + 0xf4]
movzx edi, di
add eax, 5
sub word [esi + 0x16], di
add eax, edi
push eax
push edx
mov edx, dword [esp + 0x3c]
call fcn.100b9a60
mov eax, dword [esp + 0x48]
add esp, 8
mov word [esi + 0x16], ax
mov eax, dword [esp + 0x44]
mov word [esi + 0x18], ax
mov eax, dword [esp + 0x68]
mov word [esi + 0x32], ax
mov eax, dword [esp + 0x48]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10128001
add esp, 0xdc
ret