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

Disassembly:
sub esp, 0xb4
push ebx
push ebp
push esi
mov esi, dword [ecx]
push edi
mov edi, dword [ecx + 8]
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], 0
movzx eax, byte [edi + 0x10]
mov dword [esp + 0x34], 1
mov dword [esp + 0x48], edi
mov dword [esp + 0x2c], esi
lea edx, [eax + eax*8]
mov eax, dword [esi + 4]
lea edx, [edx + 1]
test byte [eax + edx*8 + 0x28], 2
lea edx, [eax + edx*8]
mov ebx, dword [edx + 0x10]
mov eax, dword [ecx + 4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], eax
je 0x100ba354
mov ebp, dword [edx + 0x44]
jmp 0x100ba401
test byte [ebx + 0x1c], 0x80
je 0x100ba362
mov ebp, dword [ebx + 8]
jmp 0x100ba401
lea eax, [esp + 0x4c]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], eax
xorps xmm0, xmm0
lea eax, [esp + 0x40]
movlpd qword [esp + 0x8f], xmm0
mov dword [esp + 0x60], eax
mov eax, 3
or dword [esp + 0x90], eax
mov word [esp + 0x88], ax
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 dword [esp + 0x64], ebx
mov ax, word [ebx + 0x26]
mov word [esp + 0x40], ax
xor eax, eax
mov word [esp + 0x42], ax
test byte [edx + 0x28], 1
jne 0x100ba3fd
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x6c], eax
lea ebp, [esp + 0x58]
mov eax, ebx
mov ecx, 0x1c
add eax, ecx
mov dword [esp + 0x24], eax
movzx eax, word [ebx + 0x26]
mov ebx, eax
mov ecx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ebx
cmp dword [eax + 0xc], 0
jne 0x100ba5ed
mov eax, 0x1020
test word [esi + 0x28], ax
jne 0x100ba5ed
mov eax, dword [esi]
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
and eax, 0x8000
or eax, 0
je 0x100ba5ed
test byte [edx + 0x28], 0x4b
jne 0x100ba5ed
mov eax, dword [esp + 0x24]
test byte [eax], 0x80
jne 0x100ba5ed
test byte [edx + 0x24], 0x10
jne 0x100ba5ed
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
add eax, esi
mov dword [esp + 0x1c], eax
cmp bx, 0xa
jg 0x100ba48d
xor ebx, ebx
jmp 0x100ba4b0
movsx eax, cx
cdq
push edx
push eax
call fcn.10023680
mov edx, dword [esp + 0x18]
add esp, 8
sub ax, 0x21
movzx ebx, ax
mov eax, dword [esp + 0x1c]
nop word [eax + eax]
cmp esi, eax
jae 0x100ba5ed
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0xc]
and ecx, dword [esi + 0x20]
and eax, dword [esi + 0x24]
or ecx, eax
jne 0x100ba5c9
push ecx
push ecx
mov ecx, esi
call fcn.100b6e00
add esp, 8
test eax, eax
je 0x100ba5c9
mov eax, dword [edi + 0x38]
mov ecx, 1
mov word [edi + 0x18], cx
mov dword [edi + 0x30], ecx
mov ecx, dword [esp + 0x28]
mov dword [edi + 0x20], 0
mov dword [eax], esi
mov eax, dword [esp + 0x20]
add eax, ebx
mov word [edi + 0x12], ax
cmp byte [ecx + 0x2b], 2
je 0x100ba51d
mov ecx, dword [esp + 0x24]
test dword [ecx], 0x4000
jne 0x100ba51d
add eax, 0x1c
jmp 0x100ba520
add eax, 0xffffffe7
movzx eax, ax
mov word [edi + 0x12], ax
test ax, ax
jns 0x100ba532
xor eax, eax
mov word [edi + 0x12], ax
mov eax, 0x2b
movsx ecx, bx
mov word [edi + 0x16], ax
cmp bx, ax
jl 0x100ba563
cmp ecx, 0x5c
jle 0x100ba54d
movzx eax, bx
jmp 0x100ba592
cmp ecx, 0x4a
jle 0x100ba557
lea eax, [ebx + 1]
jmp 0x100ba58f
movzx eax, byte [ecx + 0x101555e5]
add ax, bx
jmp 0x100ba58f
lea eax, [ecx + 0x31]
cmp eax, 0x2b
jge 0x100ba572
mov eax, 0x2b
jmp 0x100ba592
lea eax, [ecx + 0x1f]
cmp eax, 0x2b
jge 0x100ba581
mov eax, 0x2c
jmp 0x100ba592
mov eax, 0x1015563b
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 + 0x18]
mov dword [edi + 4], eax
call fcn.100b8cb0
mov ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x100ba5cd
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add esi, 0x30
mov eax, dword [esp + 0x1c]
test ecx, ecx
je 0x100ba4b0
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb4
ret
mov eax, dword [esp + 0x14]
test ebp, ebp
je 0x100ba9f4
mov eax, dword [ebp + 0x24]
mov ebx, dword [esp + 0x10]
test eax, eax
je 0x100ba61f
mov dl, byte [edx + 0x24]
mov ecx, dword [ebx + 0x2c]
push eax
push dword [esp + 0x34]
call fcn.100ba040
add esp, 8
test eax, eax
je 0x100ba9c6
test dword [ebp + 0x38], 0x100
jne 0x100ba9c6
mov eax, dword [ebp + 8]
mov edx, ebp
mov ecx, dword [esp + 0x18]
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], ebp
push dword [ebx + 0x2c]
mov dword [esp + 0x20], esi
call fcn.100b9eb0
mov edx, dword [ebp + 0x38]
add esp, 4
mov ecx, edx
mov ebx, eax
and ecx, 3
mov dword [esp + 0x20], ebx
cmp cl, 3
jne 0x100ba6f2
mov eax, dword [esp + 0x34]
xor ecx, ecx
movzx eax, al
test ebx, ebx
mov dword [edi + 0x2c], 0x100
cmovne ecx, eax
lea eax, [esi + 0x10]
mov word [edi + 0x14], ax
mov eax, dword [esp + 0x28]
mov byte [edi + 0x11], cl
cmp byte [eax + 0x2b], 2
je 0x100ba6bc
mov eax, dword [esp + 0x24]
test dword [eax], 0x4000
je 0x100ba6c3
mov dword [edi + 0x2c], 0x2000100
mov ecx, dword [esp + 0x30]
mov edx, edi
push esi
call fcn.100b8f70
mov ecx, dword [esp + 0x1c]
add esp, 4
mov edx, edi
call fcn.100b8cb0
mov word [edi + 0x16], si
test eax, eax
jne 0x100ba9f4
mov ecx, dword [esp + 0x10]
jmp 0x100ba999
mov ecx, dword [esp + 0x10]
test dl, 0x20
je 0x100ba70e
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
jmp 0x100ba779
mov esi, dword [ebp + 0x40]
mov ebx, dword [ebp + 0x44]
and esi, dword [ecx + 0x38]
and ebx, dword [ecx + 0x3c]
mov dword [edi + 0x2c], 0x200
test esi, esi
jne 0x100ba72d
cmp ebx, 0x80000000
je 0x100ba744
mov eax, dword [ebp + 0x38]
test eax, 0x800
je 0x100ba773
test eax, 0x400
jne 0x100ba773
mov eax, esi
or eax, ebx
je 0x100ba779
push dword [ecx + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, ebp
call fcn.100ba240
mov ecx, dword [esp + 0x14]
add esp, 4
test eax, eax
je 0x100ba780
or dword [edi + 0x2c], eax
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
jmp 0x100ba780
mov eax, esi
or eax, ebx
jne 0x100ba780
mov dword [edi + 0x2c], 0x240
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x100ba7ee
mov eax, dword [esp + 0x24]
test byte [eax], 0x80
jne 0x100ba7ee
cmp dword [ebp + 0x24], edx
jne 0x100ba7ee
test byte [ecx + 0x28], 2
jne 0x100ba7ee
mov eax, esi
or eax, ebx
jne 0x100ba999
test byte [ebp + 0x38], 4
jne 0x100ba999
mov edi, dword [esp + 0x28]
mov ax, word [ebp + 0x30]
cmp ax, word [edi + 0x28]
mov edi, dword [esp + 0x48]
jge 0x100ba999
mov eax, dword [esp + 0x2c]
test byte [eax + 0x28], 4
jne 0x100ba999
cmp byte [0x10165aff], dl
je 0x100ba999
mov eax, dword [eax]
mov eax, dword [eax]
test byte [eax + 0x50], 0x20
jne 0x100ba999
mov eax, dword [esp + 0x34]
xor ecx, ecx
movzx eax, al
test edx, edx
cmovne ecx, eax
mov byte [edi + 0x11], cl
movsx ecx, word [ebp + 0x30]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, dword [esp + 0x28]
cdq
movsx ecx, word [ecx + 0x28]
idiv ecx
mov ecx, dword [esp + 0x1c]
inc eax
add eax, ecx
or esi, ebx
mov word [edi + 0x14], ax
je 0x100ba957
mov ebx, dword [esp + 0x10]
lea eax, [ecx + 0x10]
mov edx, dword [esp + 0x2c]
xor ecx, ecx
movzx esi, ax
mov dword [esp + 0x44], ecx
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x38], eax
cmp dword [edx + 0x5c], ecx
jle 0x100ba8f3
mov edi, dword [esp + 0x38]
xor eax, eax
mov dword [esp + 0x20], eax
mov ebx, dword [edx + 0x68]
xorps xmm0, xmm0
mov edx, dword [ebx + eax]
add ebx, eax
mov dword [esp + 0xa4], 0
lea eax, [esp + 0x50]
movlpd qword [esp + 0xac], xmm0
movlpd qword [esp + 0xb4], xmm0
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebp
mov dword [esp + 0xa8], 0x10065db0
mov dword [esp + 0xbc], eax
test edx, edx
je 0x100ba8b0
lea ecx, [esp + 0xa4]
call fcn.10057ea0
mov ecx, dword [esp + 0x44]
cmp word [esp + 0xb8], 0
jne 0x100ba8ef
movzx eax, word [ebx + 8]
test ax, ax
jg 0x100ba8c8
add esi, eax
jmp 0x100ba8d2
dec esi
test byte [ebx + 0xc], 0x82
je 0x100ba8d2
sub esi, 0x13
mov edx, dword [esp + 0x2c]
inc ecx
mov eax, dword [esp + 0x20]
add eax, 0x30
mov dword [esp + 0x44], ecx
mov dword [esp + 0x20], eax
cmp ecx, dword [edx + 0x5c]
jl 0x100ba856
mov edi, dword [esp + 0x48]
movzx ebx, word [edi + 0x14]
movsx ecx, bx
movsx edx, si
cmp bx, si
jl 0x100ba927
lea eax, [edx + 0x31]
cmp ecx, eax
jle 0x100ba90d
mov eax, ebx
jmp 0x100ba94f
lea eax, [edx + 0x1f]
cmp ecx, eax
jle 0x100ba919
lea eax, [ebx + 1]
jmp 0x100ba94c
sub ecx, edx
movzx eax, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add ax, bx
jmp 0x100ba94c
lea eax, [ecx + 0x31]
cmp edx, eax
jle 0x100ba933
movzx eax, si
jmp 0x100ba94f
lea eax, [ecx + 0x1f]
cmp edx, eax
jle 0x100ba940
inc esi
movzx eax, si
jmp 0x100ba94f
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 + 0x1c]
mov word [edi + 0x14], ax
push ecx
mov ecx, dword [esp + 0x34]
mov edx, edi
call fcn.100b8f70
mov ecx, dword [esp + 0x14]
add esp, 4
test byte [ecx + 0x24], 0x10
je 0x100ba976
cmp dword [ebp + 0x28], 0
jne 0x100ba989
mov ecx, dword [esp + 0x18]
mov edx, edi
call fcn.100b8cb0
mov ecx, dword [esp + 0x10]
mov edx, eax
jmp 0x100ba98d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov word [edi + 0x16], ax
test edx, edx
jne 0x100ba9f2
mov esi, dword [esp + 0x18]
mov edx, ecx
push 0
push ebp
mov ecx, esi
mov byte [esi + 0x10], 0
call fcn.100b93d0
add esp, 8
mov dword [esp + 0x14], eax
cmp byte [esi + 0x10], 1
jne 0x100ba9ca
mov ecx, dword [esp + 0x24]
or dword [ecx], 0x100
jmp 0x100ba9ca
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test byte [edx + 0x28], 2
je 0x100ba9d8
xor ebp, ebp
jmp 0x100ba9db
mov ebp, dword [ebp + 0x14]
inc dword [esp + 0x34]
test eax, eax
je 0x100ba5f1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb4
ret
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb4
ret