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

Disassembly:
sub esp, 0x30
mov ecx, dword [esp + 0x38]
mov eax, 1
push ebx
mov ebx, dword [esp + 0x38]
add ecx, 6
shl eax, cl
mov dword [esp + 0x1c], eax
push ebp
mov eax, dword [ebx + 0x78]
xor ebp, ebp
mov ecx, dword [ebx + 0x7c]
add eax, 0xc
mov edx, dword [ebx + 8]
push esi
mov esi, dword [ebx + 0x74]
mov dword [esp + 0x14], esi
lea ecx, [eax + ecx*4]
mov esi, dword [esp + 0x48]
mov eax, dword [ebx + 0x68]
push edi
mov edi, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx]
mov dword [esi], 0
mov esi, dword [ebx + 0x80]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x24], 0x10
test esi, 0xfffffffc
jbe 0x100bb1ba
xor ebp, ebp
mov dword [esp + 0x30], ebp
cmp dword [ebx + 0x7c], ebp
jbe 0x100bb191
mov esi, dword [ecx]
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], esi
test esi, 0x2490
je 0x100bb177
mov ecx, esi
and ecx, 0x49200000
cmp ecx, 0x49200000
je 0x100bb173
mov ecx, esi
and ecx, 0x200010
cmp ecx, 0x10
jne 0x100bac7b
mov ebp, dword [esp + 0x18]
and esi, 0x1ef
mov ecx, dword [esp + 0x48]
neg esi
sbb esi, esi
mov ebp, dword [ebp]
neg esi
add esi, 0xe
test dword [esp + 0x2c], 0x100000
cmovne esi, dword [esp + 0x24]
and ebp, 0x7fffffff
test ecx, ecx
je 0x100bab35
mov edx, ebp
shr edx, cl
and edx, 0x7f
movzx ecx, word [edx*2 + 0x101a8a88]
mov edx, dword [esp + 0x10]
jmp 0x100bab42
mov ecx, ebp
and ecx, 0x7f
movzx ecx, word [ecx*2 + 0x101a8b88]
mov ebx, dword [esp + 0x4c]
and ebp, dword [esp + 0x28]
movsx ecx, cx
add dword [ebx], ecx
neg ebp
mov ebx, dword [esp + 0x44]
sbb ebp, ebp
neg ebp
cmp byte [esp + 0x50], 1
mov dword [esp + 0x20], ebp
lea ecx, [ebx + 0x1c]
lea ecx, [ecx + esi*4]
mov dword [esp + 0x14], ecx
jne 0x100babd0
cmp edx, 0xdeadbeef
jne 0x100bab9f
mov eax, dword [esp + 0x20]
mov ebp, 7
mov esi, dword [esp + 0x2c]
mov edx, esi
shl eax, 7
add eax, dword [esp + 0x38]
or edx, 0x100000
mov dword [esp + 0x10], ebp
mov dword [esp + 0x20], edx
jmp 0x100bac7f
dec edx
mov ecx, edx
mov dword [esp + 0x10], edx
shl ebp, cl
add eax, ebp
test edx, edx
jne 0x100bac65
mov ecx, dword [ebx + 0x10]
mov byte [ecx], al
mov eax, dword [ebx + 0x10]
mov cl, byte [eax]
inc eax
mov dword [ebx + 0x10], eax
xor eax, eax
cmp cl, 0xff
setne dl
add edx, 7
jmp 0x100bac61
mov ecx, dword [ecx]
mov esi, dword [ecx]
sub edi, esi
cmp dword [ecx + 4], ebp
jne 0x100bac27
test edi, 0x8000
jne 0x100bac23
cmp edi, esi
jb 0x100babe9
add eax, esi
mov ebp, dword [esp + 0x14]
cmp edi, esi
mov ecx, dword [ecx + 8]
cmovae esi, edi
mov edi, esi
mov dword [ebp], ecx
nop word [eax + eax]
add edi, edi
add eax, eax
sub edx, 1
jne 0x100bac19
push ebx
mov dword [ebx], eax
call fcn.100bf4d0
mov eax, dword [ebx]
add esp, 4
mov edx, dword [ebx + 8]
test edi, 0x8000
je 0x100bac00
jmp 0x100bac61
add eax, esi
jmp 0x100bac65
cmp edi, esi
jae 0x100bac2d
add eax, esi
mov ebp, dword [esp + 0x14]
cmp edi, esi
mov ecx, dword [ecx + 0xc]
cmovae edi, esi
mov dword [ebp], ecx
nop dword [eax]
add edi, edi
add eax, eax
sub edx, 1
jne 0x100bac59
push ebx
mov dword [ebx], eax
call fcn.100bf4d0
mov eax, dword [ebx]
add esp, 4
mov edx, dword [ebx + 8]
test edi, 0x8000
je 0x100bac40
mov dword [esp + 0x10], edx
mov esi, dword [esp + 0x2c]
mov edx, esi
mov ebp, dword [esp + 0x10]
or edx, 0x100000
mov dword [esp + 0x20], edx
jmp 0x100bac7f
mov ebp, dword [esp + 0x10]
mov ecx, esi
mov dword [esp + 0x3c], eax
and ecx, 0x1000080
cmp ecx, 0x80
jne 0x100bae15
mov ecx, esi
shr ecx, 3
mov edx, ecx
and edx, 0x1ef
neg edx
sbb edx, edx
neg edx
add edx, 0xe
test ecx, 0x100000
mov ecx, dword [esp + 0x18]
cmovne edx, dword [esp + 0x24]
mov dword [esp + 0x38], edx
mov esi, dword [ecx + 4]
mov ecx, dword [esp + 0x48]
and esi, 0x7fffffff
test ecx, ecx
je 0x100bace6
mov edx, esi
shr edx, cl
and edx, 0x7f
movzx ecx, word [edx*2 + 0x101a8a88]
mov edx, dword [esp + 0x38]
jmp 0x100bacf3
mov ecx, esi
and ecx, 0x7f
movzx ecx, word [ecx*2 + 0x101a8b88]
mov ebx, dword [esp + 0x4c]
and esi, dword [esp + 0x28]
movsx ecx, cx
add dword [ebx], ecx
neg esi
mov ebx, dword [esp + 0x44]
sbb esi, esi
neg esi
cmp byte [esp + 0x50], 1
lea ecx, [ebx + 0x1c]
lea ecx, [ecx + edx*4]
mov dword [esp + 0x14], ecx
jne 0x100bad6f
mov edx, dword [esp + 0x10]
cmp edx, 0xdeadbeef
jne 0x100bad3e
mov eax, esi
mov ebp, 7
shl eax, 7
add eax, dword [esp + 0x3c]
mov dword [esp + 0x10], ebp
jmp 0x100bae09
dec edx
mov ecx, edx
mov dword [esp + 0x10], edx
shl esi, cl
add eax, esi
test edx, edx
jne 0x100bae05
mov ecx, dword [ebx + 0x10]
mov byte [ecx], al
mov eax, dword [ebx + 0x10]
mov cl, byte [eax]
inc eax
mov dword [ebx + 0x10], eax
xor eax, eax
cmp cl, 0xff
setne dl
add edx, 7
jmp 0x100bae01
mov ecx, dword [ecx]
mov edx, dword [ecx]
sub edi, edx
cmp dword [ecx + 4], esi
jne 0x100badc7
test edi, 0x8000
jne 0x100badc3
cmp edi, edx
jb 0x100bad88
add eax, edx
mov ebp, dword [esp + 0x14]
cmp edi, edx
mov ecx, dword [ecx + 8]
cmovae edx, edi
mov edi, edx
mov edx, dword [esp + 0x10]
mov dword [ebp], ecx
nop dword [eax]
add edi, edi
add eax, eax
sub edx, 1
jne 0x100badb9
push ebx
mov dword [ebx], eax
call fcn.100bf4d0
mov eax, dword [ebx]
add esp, 4
mov edx, dword [ebx + 8]
test edi, 0x8000
je 0x100bada0
jmp 0x100bae01
add eax, edx
jmp 0x100bae09
cmp edi, edx
jae 0x100badcd
add eax, edx
mov ebp, dword [esp + 0x14]
cmp edi, edx
mov ecx, dword [ecx + 0xc]
cmovae edi, edx
mov edx, dword [esp + 0x10]
mov dword [ebp], ecx
add edi, edi
add eax, eax
sub edx, 1
jne 0x100badf9
push ebx
mov dword [ebx], eax
call fcn.100bf4d0
mov eax, dword [ebx]
add esp, 4
mov edx, dword [ebx + 8]
test edi, 0x8000
je 0x100bade0
mov dword [esp + 0x10], edx
mov ebp, dword [esp + 0x10]
or dword [esp + 0x20], 0x800000
mov esi, dword [esp + 0x2c]
mov ecx, esi
mov dword [esp + 0x38], eax
and ecx, 0x8000400
cmp ecx, 0x400
jne 0x100bafa8
mov ecx, esi
shr ecx, 6
mov edx, ecx
and edx, 0x1ef
neg edx
sbb edx, edx
neg edx
add edx, 0xe
test ecx, 0x100000
mov ecx, dword [esp + 0x18]
cmovne edx, dword [esp + 0x24]
mov dword [esp + 0x3c], edx
mov esi, dword [ecx + 8]
mov ecx, dword [esp + 0x48]
and esi, 0x7fffffff
test ecx, ecx
je 0x100bae7c
mov edx, esi
shr edx, cl
and edx, 0x7f
movzx ecx, word [edx*2 + 0x101a8a88]
mov edx, dword [esp + 0x3c]
jmp 0x100bae89
mov ecx, esi
and ecx, 0x7f
movzx ecx, word [ecx*2 + 0x101a8b88]
mov ebx, dword [esp + 0x4c]
and esi, dword [esp + 0x28]
movsx ecx, cx
add dword [ebx], ecx
neg esi
mov ebx, dword [esp + 0x44]
sbb esi, esi
neg esi
cmp byte [esp + 0x50], 1
lea ecx, [ebx + 0x1c]
lea ecx, [ecx + edx*4]
mov dword [esp + 0x14], ecx
jne 0x100baf05
mov edx, dword [esp + 0x10]
cmp edx, 0xdeadbeef
jne 0x100baed4
mov eax, esi
mov ebp, 7
shl eax, 7
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], ebp
jmp 0x100baf9c
dec edx
mov ecx, edx
mov dword [esp + 0x10], edx
shl esi, cl
add eax, esi
test edx, edx
jne 0x100baf98
mov ecx, dword [ebx + 0x10]
mov byte [ecx], al
mov eax, dword [ebx + 0x10]
mov cl, byte [eax]
inc eax
mov dword [ebx + 0x10], eax
xor eax, eax
cmp cl, 0xff
setne dl
add edx, 7
jmp 0x100baf94
mov ecx, dword [ecx]
mov edx, dword [ecx]
sub edi, edx
cmp dword [ecx + 4], esi
jne 0x100baf5a
test edi, 0x8000
jne 0x100baf56
cmp edi, edx
jb 0x100baf1e
add eax, edx
mov ebp, dword [esp + 0x14]
cmp edi, edx
mov ecx, dword [ecx + 8]
cmovae edx, edi
mov edi, edx
mov edx, dword [esp + 0x10]
mov dword [ebp], ecx
add edi, edi
add eax, eax
sub edx, 1
jne 0x100baf4c
push ebx
mov dword [ebx], eax
call fcn.100bf4d0
mov eax, dword [ebx]
add esp, 4
mov edx, dword [ebx + 8]
test edi, 0x8000
je 0x100baf33
jmp 0x100baf94
add eax, edx
jmp 0x100baf9c
cmp edi, edx
jae 0x100baf60
add eax, edx
mov ebp, dword [esp + 0x14]
cmp edi, edx
mov ecx, dword [ecx + 0xc]
cmovae edi, edx
mov edx, dword [esp + 0x10]
mov dword [ebp], ecx
add edi, edi
add eax, eax
sub edx, 1
jne 0x100baf8c
push ebx
mov dword [ebx], eax
call fcn.100bf4d0
mov eax, dword [ebx]
add esp, 4
mov edx, dword [ebx + 8]
test edi, 0x8000
je 0x100baf73
mov dword [esp + 0x10], edx
mov ebp, dword [esp + 0x10]
or dword [esp + 0x20], 0x4000000
mov esi, dword [esp + 0x2c]
mov ecx, esi
mov edx, eax
and ecx, 0x40002000
mov dword [esp + 0x3c], edx
cmp ecx, 0x2000
jne 0x100bb161
shr esi, 9
mov ecx, esi
and ecx, 0x1ef
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 0xe
test esi, 0x100000
cmovne ecx, dword [esp + 0x24]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx + 0xc]
mov ecx, dword [esp + 0x48]
and esi, 0x7fffffff
test ecx, ecx
je 0x100bb00d
mov edx, esi
shr edx, cl
and edx, 0x7f
movzx ecx, word [edx*2 + 0x101a8a88]
mov edx, eax
jmp 0x100bb01a
mov ecx, esi
and ecx, 0x7f
movzx ecx, word [ecx*2 + 0x101a8b88]
mov ebx, dword [esp + 0x4c]
and esi, dword [esp + 0x28]
movsx ecx, cx
add dword [ebx], ecx
neg esi
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x44]
sbb esi, esi
add ecx, 7
neg esi
cmp byte [esp + 0x50], 1
lea ecx, [ebx + ecx*4]
mov dword [esp + 0x14], ecx
jne 0x100bb0ae
cmp ebp, 0xdeadbeef
jne 0x100bb06d
mov ebp, 7
mov eax, esi
mov dword [esp + 0x10], ebp
shl eax, 7
mov ecx, dword [esp + 0x20]
add eax, edx
or ecx, 0x20000000
jmp 0x100bb165
dec ebp
mov ecx, ebp
mov dword [esp + 0x10], ebp
shl esi, cl
add eax, esi
test ebp, ebp
jne 0x100bb155
mov ecx, dword [ebx + 0x10]
xor edx, edx
mov byte [ecx], al
mov eax, dword [ebx + 0x10]
mov cl, byte [eax]
inc eax
mov dword [ebx + 0x10], eax
xor eax, eax
cmp cl, 0xff
mov ecx, dword [esp + 0x20]
setne dl
add edx, 7
or ecx, 0x20000000
mov dword [esp + 0x10], edx
jmp 0x100bb165
mov ecx, dword [ecx]
mov edx, dword [ecx]
sub edi, edx
cmp dword [ecx + 4], esi
jne 0x100bb111
test edi, 0x8000
jne 0x100bb05c
cmp edi, edx
jb 0x100bb0c7
add eax, edx
mov ebp, dword [esp + 0x14]
cmp edi, edx
mov ecx, dword [ecx + 8]
cmovae edx, edi
mov edi, edx
mov dword [ebp], ecx
mov ecx, dword [esp + 0x10]
nop dword [eax]
add edi, edi
add eax, eax
sub ecx, 1
jne 0x100bb0f9
push ebx
mov dword [ebx], eax
call fcn.100bf4d0
mov eax, dword [ebx]
add esp, 4
mov ecx, dword [ebx + 8]
test edi, 0x8000
je 0x100bb0e0
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x20]
or ecx, 0x20000000
jmp 0x100bb165
cmp edi, edx
jae 0x100bb117
add eax, edx
mov ebp, dword [esp + 0x14]
cmp edi, edx
mov ecx, dword [ecx + 0xc]
cmovae edi, edx
mov dword [ebp], ecx
mov ecx, dword [esp + 0x10]
nop word [eax + eax]
add edi, edi
add eax, eax
sub ecx, 1
jne 0x100bb149
push ebx
mov dword [ebx], eax
call fcn.100bf4d0
mov eax, dword [ebx]
add esp, 4
mov ecx, dword [ebx + 8]
test edi, 0x8000
je 0x100bb130
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x20]
or ecx, 0x20000000
jmp 0x100bb165
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x30]
mov dword [edx], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add dword [esp + 0x18], 0x10
inc ebp
add ecx, 4
mov dword [esp + 0x30], ebp
mov dword [esp + 0x1c], ecx
cmp ebp, dword [ebx + 0x7c]
jb 0x100baab0
mov ebp, dword [esp + 0x34]
add ecx, 8
mov esi, dword [ebx + 0x80]
add ebp, 4
mov dword [esp + 0x1c], ecx
mov ecx, esi
and ecx, 0xfffffffc
mov dword [esp + 0x34], ebp
cmp ebp, ecx
mov ecx, dword [esp + 0x1c]
jb 0x100baaa1
cmp ebp, esi
jae 0x100bb3ea
sub esi, ebp
xor ecx, ecx
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], ecx
cmp dword [ebx + 0x7c], ecx
jbe 0x100bb3ee
mov edx, dword [esp + 0x1c]
nop
mov edx, dword [edx]
mov dword [esp + 0x44], edx
test edx, 0x2490
jne 0x100bb1fe
mov edx, dword [esp + 0x18]
lea edx, [edx + esi*4]
mov dword [esp + 0x18], edx
jmp 0x100bb3cf
test esi, esi
je 0x100bb3cf
xor ecx, ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ecx
mov esi, 0x200010
mov dword [esp + 0x3c], eax
shl esi, cl
and esi, edx
mov edx, dword [esp + 0x24]
shl edx, cl
cmp esi, edx
mov edx, dword [esp + 0x44]
jne 0x100bb3ac
shr edx, cl
mov ecx, edx
and ecx, 0x1ef
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 0xe
test edx, 0x100000
cmovne ecx, dword [esp + 0x24]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx]
mov ecx, dword [esp + 0x48]
and esi, 0x7fffffff
test ecx, ecx
je 0x100bb276
mov edx, esi
shr edx, cl
and edx, 0x7f
movzx ecx, word [edx*2 + 0x101a8a88]
jmp 0x100bb283
mov ecx, esi
and ecx, 0x7f
movzx ecx, word [ecx*2 + 0x101a8b88]
mov edx, dword [esp + 0x4c]
and esi, dword [esp + 0x28]
movsx ecx, cx
add dword [edx], ecx
neg esi
mov ecx, dword [esp + 0x44]
sbb esi, esi
add ecx, 7
neg esi
cmp byte [esp + 0x50], 1
lea ecx, [ebx + ecx*4]
mov dword [esp + 0x14], ecx
jne 0x100bb301
cmp ebp, 0xdeadbeef
jne 0x100bb2ca
mov eax, esi
mov ebp, 7
shl eax, 7
add eax, dword [esp + 0x3c]
mov dword [esp + 0x10], ebp
jmp 0x100bb399
dec ebp
mov ecx, ebp
mov dword [esp + 0x10], ebp
shl esi, cl
add eax, esi
test ebp, ebp
jne 0x100bb399
mov ecx, dword [ebx + 0x10]
xor edx, edx
mov byte [ecx], al
mov eax, dword [ebx + 0x10]
mov cl, byte [eax]
inc eax
mov dword [ebx + 0x10], eax
xor eax, eax
cmp cl, 0xff
setne dl
add edx, 7
mov dword [esp + 0x10], edx
jmp 0x100bb395
mov ecx, dword [ecx]
mov edx, dword [ecx]
sub edi, edx
cmp dword [ecx + 4], esi
jne 0x100bb357
test edi, 0x8000
jne 0x100bb353
cmp edi, edx
jb 0x100bb31a
add eax, edx
mov ebp, dword [esp + 0x14]
cmp edi, edx
mov ecx, dword [ecx + 8]
cmovae edx, edi
mov edi, edx
mov dword [ebp], ecx
mov ecx, dword [esp + 0x10]
nop
add edi, edi
add eax, eax
sub ecx, 1
jne 0x100bb349
push ebx
mov dword [ebx], eax
call fcn.100bf4d0
mov eax, dword [ebx]
add esp, 4
mov ecx, dword [ebx + 8]
test edi, 0x8000
je 0x100bb330
jmp 0x100bb391
add eax, edx
jmp 0x100bb399
cmp edi, edx
jae 0x100bb35d
add eax, edx
mov ebp, dword [esp + 0x14]
cmp edi, edx
mov ecx, dword [ecx + 0xc]
cmovae edi, edx
mov dword [ebp], ecx
mov ecx, dword [esp + 0x10]
add edi, edi
add eax, eax
sub ecx, 1
jne 0x100bb389
push ebx
mov dword [ebx], eax
call fcn.100bf4d0
mov eax, dword [ebx]
add esp, 4
mov ecx, dword [ebx + 8]
test edi, 0x8000
je 0x100bb370
mov dword [esp + 0x10], ecx
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov edx, 0x100000
mov ecx, dword [esp + 0x34]
shl edx, cl
or dword [esi], edx
mov edx, dword [esi]
add dword [esp + 0x18], 4
add ecx, 3
sub dword [esp + 0x30], 1
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], edx
jne 0x100bb210
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
inc ecx
add edx, 4
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], edx
cmp ecx, dword [ebx + 0x7c]
jb 0x100bb1e0
jmp 0x100bb3ee
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 4], edi
pop edi
pop esi
mov dword [ebx + 8], ebp
pop ebp
mov dword [ebx + 0x68], ecx
mov dword [ebx], eax
pop ebx
add esp, 0x30
ret