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

Disassembly:
sub esp, 0xb4
push ebx
push ebp
push esi
mov esi, dword [ecx]
xor ebp, ebp
push edi
mov edi, dword [ecx + 8]
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x24], ecx
mov ecx, dword [ecx + 4]
movzx eax, byte [edi + 0x10]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x40], 1
mov dword [esp + 0x48], edi
lea edx, [eax + eax*8]
mov dword [esp + 0x38], esi
mov eax, dword [esi + 4]
lea edx, [edx + 1]
test byte [eax + edx*8 + 0x28], 2
lea edx, [eax + edx*8]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x3c], ecx
je 0x100bab42
mov ebx, dword [edx + 0x44]
jmp 0x100babef
test byte [eax + 0x1c], 0x80
je 0x100bab50
mov ebx, dword [eax + 8]
jmp 0x100babef
lea ecx, [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x5c], ecx
xorps xmm0, xmm0
lea ecx, [esp + 0x44]
movlpd qword [esp + 0x8f], xmm0
mov dword [esp + 0x60], ecx
mov ecx, 3
or dword [esp + 0x90], ecx
mov dword [esp + 0x58], ebp
movlpd qword [esp + 0x68], xmm0
movlpd qword [esp + 0x70], xmm0
movlpd qword [esp + 0x78], xmm0
movlpd qword [esp + 0x80], xmm0
movlpd qword [esp + 0x97], xmm0
mov byte [esp + 0x9f], 0
mov dword [esp + 0x8a], 0x10001
mov byte [esp + 0x8e], 5
mov word [esp + 0x88], cx
mov ax, word [eax + 0x26]
mov word [esp + 0x44], ax
xor eax, eax
mov word [esp + 0x46], ax
test byte [edx + 0x28], 1
jne 0x100babe7
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x20]
lea ebx, [esp + 0x58]
mov ecx, 0x1c
mov dword [esp + 0x28], ebx
add eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
movzx eax, word [eax + 0x26]
mov ecx, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
cmp dword [eax + 0xc], ebp
jne 0x100bae38
mov eax, 0x1020
test word [esi + 0x28], ax
jne 0x100bae38
mov eax, dword [esi]
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
and eax, 0x8000
or eax, 0
je 0x100bae38
test byte [edx + 0x28], 0x4b
jne 0x100bae38
mov eax, dword [esp + 0x2c]
test byte [eax], 0x80
jne 0x100bae38
test byte [edx + 0x24], 0x10
jne 0x100bae38
mov eax, dword [esp + 0x3c]
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
lea ebp, [eax + eax*2]
shl ebp, 4
add ebp, esi
mov dword [esp + 0x14], ebp
cmp cx, 0xa
jg 0x100bac7e
xor eax, eax
jmp 0x100bac97
movsx eax, cx
cdq
push edx
push eax
call fcn.10023a30
mov edx, dword [esp + 0x18]
add esp, 8
sub ax, 0x21
movzx eax, ax
mov dword [esp + 0x30], eax
nop dword [eax + eax]
cmp esi, ebp
jae 0x100bae34
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0xc]
and ecx, dword [esi + 0x20]
and eax, dword [esi + 0x24]
or ecx, eax
jne 0x100bae16
mov ebp, dword [edx + 0x2c]
cmp dword [esi + 0x14], ebp
jne 0x100bae12
test byte [esi + 0xc], 0x82
je 0x100bae12
mov cl, byte [edx + 0x24]
test cl, 0x58
je 0x100bacff
mov eax, dword [esi]
mov edx, dword [eax + 4]
test dl, 3
je 0x100bae12
cmp dword [eax + 0x24], ebp
jne 0x100bae12
test cl, 0x18
je 0x100bacff
test dl, 2
jne 0x100bae12
mov edx, dword [esi + 0x18]
test edx, edx
js 0x100bae12
mov ebp, dword [esp + 0x10]
add edx, edx
mov ecx, dword [esi]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
mov dl, byte [eax + edx*8 + 8]
call fcn.1005bd50
test eax, eax
je 0x100bae12
mov eax, dword [edi + 0x38]
mov ecx, 1
mov ebp, dword [esp + 0x30]
mov word [edi + 0x18], cx
mov dword [edi + 0x30], ecx
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x20], 0
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
add eax, ebp
mov word [edi + 0x12], ax
cmp byte [ecx + 0x2b], 2
je 0x100bad6a
mov ecx, dword [esp + 0x2c]
test dword [ecx], 0x4000
jne 0x100bad6a
add eax, 0x1c
jmp 0x100bad6d
add eax, 0xffffffe7
movzx eax, ax
mov word [edi + 0x12], ax
test ax, ax
jns 0x100bad7f
xor eax, eax
mov word [edi + 0x12], ax
mov eax, 0x2b
movsx ecx, bp
mov word [edi + 0x16], ax
cmp bp, ax
jl 0x100badb0
cmp ecx, 0x5c
jle 0x100bad9a
movzx eax, bp
jmp 0x100baddf
cmp ecx, 0x4a
jle 0x100bada4
lea eax, [ebp + 1]
jmp 0x100baddc
movzx eax, byte [ecx + 0x101556e5]
add ax, bp
jmp 0x100baddc
lea eax, [ecx + 0x31]
cmp eax, 0x2b
jge 0x100badbf
mov eax, 0x2b
jmp 0x100baddf
lea eax, [ecx + 0x1f]
cmp eax, 0x2b
jge 0x100badce
mov eax, 0x2c
jmp 0x100baddf
mov eax, 0x1015573b
sub eax, ecx
movzx eax, byte [eax]
add ax, 0x2b
movzx eax, ax
mov ecx, dword [esp + 0xc8]
mov edx, edi
mov word [edi + 0x14], ax
mov dword [edi + 0x2c], 0x4000
or ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
or eax, dword [esp + 0xcc]
mov dword [edi], ecx
mov ecx, dword [esp + 0x24]
mov dword [edi + 4], eax
call fcn.100b94c0
mov dword [esp + 0x18], eax
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add esi, 0x30
mov edx, dword [esp + 0x10]
test eax, eax
je 0x100baca0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb4
ret
mov ebp, dword [esp + 0x18]
test ebx, ebx
je 0x100bb237
mov eax, dword [ebx + 0x24]
mov ebp, dword [esp + 0x10]
test eax, eax
je 0x100bae66
mov dl, byte [edx + 0x24]
mov ecx, dword [ebp + 0x2c]
push eax
push dword [esp + 0x40]
call fcn.100ba830
add esp, 8
test eax, eax
je 0x100bb212
test dword [ebx + 0x38], 0x100
jne 0x100bb212
mov eax, dword [ebx + 8]
mov edx, ebx
mov ecx, dword [esp + 0x24]
movzx esi, word [eax]
xor eax, eax
mov dword [edi + 0x18], eax
mov word [edi + 0x1c], ax
mov dword [edi + 0x30], eax
mov byte [edi + 0x11], al
mov word [edi + 0x12], ax
mov eax, dword [esp + 0xc8]
mov dword [edi], eax
mov eax, dword [esp + 0xcc]
mov dword [edi + 4], eax
mov word [edi + 0x16], si
mov dword [edi + 0x20], ebx
push dword [ebp + 0x2c]
mov dword [esp + 0x18], esi
call fcn.100ba6a0
mov edx, dword [ebx + 0x38]
add esp, 4
mov ecx, edx
mov ebp, eax
and ecx, 3
mov dword [esp + 0x1c], ebp
cmp cl, 3
jne 0x100baf39
mov eax, dword [esp + 0x40]
xor ecx, ecx
movzx eax, al
test ebp, ebp
mov dword [edi + 0x2c], 0x100
cmovne ecx, eax
lea eax, [esi + 0x10]
mov word [edi + 0x14], ax
mov eax, dword [esp + 0x20]
mov byte [edi + 0x11], cl
cmp byte [eax + 0x2b], 2
je 0x100baf03
mov eax, dword [esp + 0x2c]
test dword [eax], 0x4000
je 0x100baf0a
mov dword [edi + 0x2c], 0x2000100
mov ecx, dword [esp + 0x3c]
mov edx, edi
push esi
call fcn.100b9780
mov ecx, dword [esp + 0x28]
add esp, 4
mov edx, edi
call fcn.100b94c0
mov word [edi + 0x16], si
test eax, eax
jne 0x100bb239
mov ecx, dword [esp + 0x10]
jmp 0x100bb1e3
mov ecx, dword [esp + 0x10]
test dl, 0x20
je 0x100baf55
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
jmp 0x100bafc0
mov esi, dword [ebx + 0x40]
mov ebp, dword [ebx + 0x44]
and esi, dword [ecx + 0x38]
and ebp, dword [ecx + 0x3c]
mov dword [edi + 0x2c], 0x200
test esi, esi
jne 0x100baf74
cmp ebp, 0x80000000
je 0x100baf8b
mov eax, dword [ebx + 0x38]
test eax, 0x800
je 0x100bafba
test eax, 0x400
jne 0x100bafba
mov eax, esi
or eax, ebp
je 0x100bafc0
push dword [ecx + 0x2c]
mov ecx, dword [esp + 0x3c]
mov edx, ebx
call fcn.100baa30
mov ecx, dword [esp + 0x14]
add esp, 4
test eax, eax
je 0x100bafc7
or dword [edi + 0x2c], eax
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
jmp 0x100bafc7
mov eax, esi
or eax, ebp
jne 0x100bafc7
mov dword [edi + 0x2c], 0x240
mov edx, dword [esp + 0x1c]
test edx, edx
jne 0x100bb035
mov eax, dword [esp + 0x2c]
test byte [eax], 0x80
jne 0x100bb035
cmp dword [ebx + 0x24], edx
jne 0x100bb035
test byte [ecx + 0x28], 2
jne 0x100bb035
mov eax, esi
or eax, ebp
jne 0x100bb1e3
test byte [ebx + 0x38], 4
jne 0x100bb1e3
mov edi, dword [esp + 0x20]
mov ax, word [ebx + 0x30]
cmp ax, word [edi + 0x28]
mov edi, dword [esp + 0x48]
jge 0x100bb1e3
mov eax, dword [esp + 0x38]
test byte [eax + 0x28], 4
jne 0x100bb1e3
cmp byte [0x10166aff], dl
je 0x100bb1e3
mov eax, dword [eax]
mov eax, dword [eax]
test byte [eax + 0x50], 0x20
jne 0x100bb1e3
mov eax, dword [esp + 0x40]
xor ecx, ecx
movzx eax, al
test edx, edx
cmovne ecx, eax
mov byte [edi + 0x11], cl
movsx ecx, word [ebx + 0x30]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, dword [esp + 0x20]
cdq
movsx ecx, word [ecx + 0x28]
idiv ecx
mov ecx, dword [esp + 0x14]
inc eax
add eax, ecx
or esi, ebp
mov word [edi + 0x14], ax
je 0x100bb1a1
mov ebp, dword [esp + 0x10]
lea eax, [ecx + 0x10]
mov edx, dword [esp + 0x38]
movzx esi, ax
mov eax, dword [ebp + 0x2c]
xor ebp, ebp
mov dword [esp + 0x30], eax
cmp dword [edx + 0x5c], ebp
jle 0x100bb13d
mov edi, dword [esp + 0x28]
xor ecx, ecx
mov dword [esp + 0x1c], ecx
nop dword [eax]
mov ebx, dword [edx + 0x68]
xorps xmm0, xmm0
mov edx, dword [ebx + ecx]
add ebx, ecx
mov dword [esp + 0x54], eax
lea eax, [esp + 0x50]
mov dword [esp + 0xa4], 0
movlpd qword [esp + 0xac], xmm0
movlpd qword [esp + 0xb4], xmm0
mov dword [esp + 0x50], edi
mov dword [esp + 0xa8], 0x10066370
mov dword [esp + 0xbc], eax
test edx, edx
je 0x100bb0fa
lea ecx, [esp + 0xa4]
call fcn.100583a0
mov ecx, dword [esp + 0x1c]
cmp word [esp + 0xb8], 0
jne 0x100bb135
movzx eax, word [ebx + 8]
test ax, ax
jg 0x100bb112
add esi, eax
jmp 0x100bb11c
dec esi
test byte [ebx + 0xc], 0x82
je 0x100bb11c
sub esi, 0x13
mov edx, dword [esp + 0x38]
inc ebp
mov eax, dword [esp + 0x30]
add ecx, 0x30
mov dword [esp + 0x1c], ecx
cmp ebp, dword [edx + 0x5c]
jl 0x100bb0a0
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x28]
movzx ebp, word [edi + 0x14]
movsx ecx, bp
movsx edx, si
cmp bp, si
jl 0x100bb171
lea eax, [edx + 0x31]
cmp ecx, eax
jle 0x100bb157
mov eax, ebp
jmp 0x100bb199
lea eax, [edx + 0x1f]
cmp ecx, eax
jle 0x100bb163
lea eax, [ebp + 1]
jmp 0x100bb196
sub ecx, edx
movzx eax, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add ax, bp
jmp 0x100bb196
lea eax, [ecx + 0x31]
cmp edx, eax
jle 0x100bb17d
movzx eax, si
jmp 0x100bb199
lea eax, [ecx + 0x1f]
cmp edx, eax
jle 0x100bb18a
inc esi
movzx eax, si
jmp 0x100bb199
sub edx, ecx
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, si
movzx eax, ax
mov ecx, dword [esp + 0x14]
mov word [edi + 0x14], ax
push ecx
mov ecx, dword [esp + 0x40]
mov edx, edi
call fcn.100b9780
mov ecx, dword [esp + 0x14]
add esp, 4
test byte [ecx + 0x24], 0x10
je 0x100bb1c0
cmp dword [ebx + 0x28], 0
jne 0x100bb1d3
mov ecx, dword [esp + 0x24]
mov edx, edi
call fcn.100b94c0
mov ecx, dword [esp + 0x10]
mov edx, eax
jmp 0x100bb1d7
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov word [edi + 0x16], ax
test edx, edx
jne 0x100bb244
mov esi, dword [esp + 0x24]
mov edx, ecx
push 0
push ebx
mov ecx, esi
mov byte [esi + 0x10], 0
call fcn.100b9bf0
add esp, 8
mov ebp, eax
cmp byte [esi + 0x10], 1
mov dword [esp + 0x18], ebp
jne 0x100bb216
mov eax, dword [esp + 0x2c]
or dword [eax], 0x100
jmp 0x100bb216
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
test byte [edx + 0x28], 2
je 0x100bb224
xor ebx, ebx
jmp 0x100bb227
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x40]
mov dword [esp + 0x28], ebx
test ebp, ebp
je 0x100bae38
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb4
ret
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0xb4
ret