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

Disassembly:
sub esp, 0xd4
mov eax, dword [0x10155004]
xor eax, esp
mov dword [esp + 0xcc], eax
push ebx
mov ebx, dword [esp + 0xdc]
push ebp
mov ebp, ecx
mov dword [esp + 0x20], edx
push esi
push edi
mov dword [esp + 0x34], ebp
mov eax, dword [ebp]
mov edi, dword [ebp + 8]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 0
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x68], edi
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], ecx
cmp dword [eax + 0x24], ecx
je 0x100ba492
mov eax, dword [eax + 0xc]
jmp 0x100badbd
mov eax, dword [edi + 0x2c]
mov edx, 0x18
test al, 0x20
movzx ecx, word [edi + 0x18]
mov dword [esp + 0x48], eax
mov eax, 0x1bf
cmove edx, eax
mov dword [esp + 0x40], ecx
movzx eax, word [edi + 0x1a]
mov dword [esp + 0x58], eax
movzx eax, word [edi + 0x1c]
mov dword [esp + 0x5c], eax
movzx eax, word [edi + 0x32]
mov dword [esp + 0x64], eax
movzx eax, word [edi + 0x30]
mov dword [esp + 0x60], eax
mov eax, dword [edi]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x54], eax
movzx eax, word [edi + 0x16]
mov esi, eax
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x70], esi
movzx esi, cx
mov ecx, edx
and ecx, 0xffffffc3
mov dword [esp + 0x1c], esi
and al, 4
mov eax, dword [esp + 0x28]
cmove ecx, edx
mov edx, dword [ebp + 4]
push ebx
push ecx
push esi
push dword [eax + 0x2c]
lea ecx, [esp + 0x88]
call fcn.100b7aa0
mov ebp, eax
add esp, 0x10
xor eax, eax
mov word [edi + 0x12], ax
mov ecx, dword [ebx + 8]
movzx ecx, word [ecx]
mov eax, ecx
mov dword [esp + 0x6c], eax
cmp ax, 0xa
jg 0x100ba53f
mov dword [esp + 0x24], 0
jmp 0x100ba558
movsx eax, cx
cdq
push edx
push eax
call fcn.1002bf10
add esp, 8
sub ax, 0x21
movzx eax, ax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xec]
mov ecx, pe_nt_image_headers32
mov dword [esp + 0x30], eax
test ebp, ebp
je 0x100bac85
movzx edx, word [ebp + 0xc]
mov eax, edx
mov dword [esp + 0x18], 0
mov dword [esp + 0x3c], eax
cmp ax, cx
je 0x100ba58d
test byte [ebp + 0xa], 0x80
je 0x100ba5b8
mov eax, dword [ebx + 4]
movsx ecx, word [eax + esi*2]
test ecx, ecx
js 0x100ba5af
mov eax, dword [ebx + 0xc]
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8 + 4]
and eax, 0xf
jne 0x100bac6a
jmp 0x100ba5b8
cmp ecx, 0xffffffff
je 0x100bac6a
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0xc]
and ecx, dword [ebp + 0x20]
and eax, dword [ebp + 0x24]
or ecx, eax
jne 0x100bac6a
mov eax, pe_nt_image_headers32
test word [ebp + 0xa], ax
je 0x100ba5e0
cmp edx, 0x10
je 0x100bac6a
mov eax, dword [esp + 0x28]
mov cl, byte [eax + 0x24]
test cl, 0x58
je 0x100ba61d
mov eax, dword [ebp]
mov edx, dword [eax + 4]
test dl, 3
je 0x100bac6a
mov esi, dword [esp + 0x28]
mov eax, dword [eax + 0x24]
cmp eax, dword [esi + 0x2c]
mov esi, dword [esp + 0x1c]
jne 0x100bac6a
test cl, 0x18
je 0x100ba61d
test dl, 2
jne 0x100bac6a
cmp byte [ebx + 0x36], 0
je 0x100ba636
movzx eax, word [ebx + 0x32]
dec eax
cmp esi, eax
jne 0x100ba636
mov eax, dword [esp + 0x34]
or byte [eax + 0x10], 2
jmp 0x100ba63e
mov eax, dword [esp + 0x34]
or byte [eax + 0x10], 1
mov eax, dword [esp + 0x48]
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0x40]
mov word [edi + 0x18], ax
mov eax, dword [esp + 0x58]
mov word [edi + 0x1a], ax
mov eax, dword [esp + 0x5c]
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x60]
mov word [edi + 0x30], ax
cmp ax, word [edi + 0x34]
jb 0x100ba688
mov ebx, dword [esp + 0x2c]
mov edx, edi
movzx eax, ax
mov ecx, ebx
inc eax
push eax
call fcn.100b9950
add esp, 4
test eax, eax
jne 0x100badae
movzx ecx, word [edi + 0x30]
mov eax, dword [edi + 0x38]
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
mov dword [eax + ecx*4], ebp
mov ax, word [edi + 0x30]
mov ecx, dword [edi + 8]
inc ax
mov word [edi + 0x30], ax
not ecx
or edx, dword [ebp + 0x24]
or esi, dword [ebp + 0x20]
movzx ebx, ax
and esi, ecx
mov eax, dword [edi + 0xc]
not eax
mov dword [edi], esi
and edx, eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 4], edx
test al, 1
je 0x100ba7d2
mov edx, dword [ebp]
test dword [edx + 4], 0x1000
je 0x100ba74d
lea esi, [ebx - 1]
mov dword [esp + 0x18], 0x2e
xor ecx, ecx
test esi, esi
jle 0x100ba76e
mov ebx, dword [edi + 0x38]
mov edi, dword [esp + 0x18]
mov eax, dword [ebx + ecx*4]
test eax, eax
je 0x100ba70a
cmp dword [eax], edx
mov dword [esp + 0x18], 0
cmove edi, dword [esp + 0x18]
inc ecx
cmp ecx, esi
jl 0x100ba6f4
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
test byte [eax + 0x38], 0x80
je 0x100ba7be
cmp word [esp + 0x24], 0xa
jl 0x100ba7be
mov eax, dword [eax + 8]
mov edx, dword [esp + 0x1c]
movzx esi, cx
movzx ebx, word [eax + edx*2]
cmp si, 0xa
jg 0x100ba775
xor eax, eax
jmp 0x100ba78a
mov eax, dword [edx + 0x14]
test eax, eax
je 0x100ba717
mov eax, dword [eax]
test eax, eax
je 0x100ba717
cdq
push edx
push eax
call fcn.1002bf10
movsx ecx, ax
add esp, 8
mov dword [esp + 0x18], ecx
jmp 0x100ba71b
mov ecx, 0x2e
jmp 0x100ba71b
movsx eax, si
cdq
push edx
push eax
call fcn.1002bf10
add esp, 8
sub ax, 0x21
movzx eax, ax
sub eax, esi
sub eax, dword [esp + 0x24]
add eax, 0xa
add eax, ebx
test ax, ax
jns 0x100ba7be
cmp word [esp + 0x30], 2
jge 0x100bac62
mov eax, dword [esp + 0x2c]
test dword [eax + 0x50], 0x20000
jne 0x100bac62
or dword [edi + 0x2c], 0x100000
or dword [edi + 0x2c], 4
mov ebx, dword [edi + 0x2c]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
jmp 0x100ba930
mov esi, dword [esp + 0x10]
test al, 0x82
je 0x100ba86a
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x1c]
movsx eax, word [eax + ecx*2]
mov ecx, dword [edi + 0x2c]
or ecx, 1
mov dword [edi + 0x2c], ecx
cmp eax, 0xffffffff
je 0x100ba83b
mov edx, ecx
mov ebx, ecx
test eax, eax
js 0x100ba848
cmp word [esp + 0x30], 0
jne 0x100ba848
movzx esi, word [esi + 0x32]
lea eax, [esi - 1]
cmp dword [esp + 0x1c], eax
jne 0x100ba848
mov eax, dword [esp + 0x10]
test byte [eax + 0x38], 8
jne 0x100ba83b
cmp esi, 1
jne 0x100ba831
cmp byte [eax + 0x36], 0
je 0x100ba831
cmp word [esp + 0x3c], 2
je 0x100ba83b
mov ebx, ecx
or ebx, 0x10000
jmp 0x100ba843
mov ebx, ecx
or ebx, 0x1000
mov edx, ebx
mov dword [edi + 0x2c], ebx
cmp byte [esp + 0x91], 1
jbe 0x100ba85d
mov ebx, edx
or ebx, 0x200000
mov dword [edi + 0x2c], ebx
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
jmp 0x100ba930
test eax, 0x100
je 0x100ba881
or dword [edi + 0x2c], 8
mov ebx, dword [edi + 0x2c]
mov edx, dword [esp + 0x20]
jmp 0x100ba930
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x4c]
push ebp
push dword [esp + 0x20]
mov edx, dword [eax + 0x2c]
push esi
call fcn.100ba230
mov ebx, dword [edi + 0x2c]
add esp, 0xc
test byte [esp + 0x3c], 0x24
je 0x100ba90a
or ebx, 0x22
mov word [edi + 0x1a], ax
xor ecx, ecx
mov dword [edi + 0x2c], ebx
mov eax, pe_nt_image_headers32
mov dword [esp + 0x20], ebp
mov dword [esp + 0x38], ecx
test word [ebp + 0xa], ax
je 0x100ba904
movzx eax, word [edi + 0x30]
lea ebx, [ebp + 0x30]
mov ecx, dword [esp + 0x2c]
inc eax
push eax
mov edx, edi
mov dword [esp + 0x3c], ebx
call fcn.100b9950
add esp, 4
test eax, eax
jne 0x100bac89
movzx ecx, word [edi + 0x30]
mov eax, dword [edi + 0x38]
mov dword [eax + ecx*4], ebx
mov eax, 1
inc word [edi + 0x30]
or dword [edi + 0x2c], 0x10
mov ebx, dword [edi + 0x2c]
mov word [edi + 0x1c], ax
mov edx, dword [esp + 0x20]
jmp 0x100ba930
or ebx, 0x12
mov word [edi + 0x1c], ax
mov dword [edi + 0x2c], ebx
mov dword [esp + 0x38], ebp
test bl, 0x20
je 0x100ba92a
movzx ecx, word [edi + 0x30]
mov eax, dword [edi + 0x38]
mov edx, dword [eax + ecx*4 - 8]
jmp 0x100ba92c
xor edx, edx
mov dword [esp + 0x20], edx
test bl, 2
je 0x100ba9d5
movzx eax, word [edi + 0x16]
movsx esi, ax
test edx, edx
je 0x100ba95a
movzx ecx, word [edx + 8]
test cx, cx
jg 0x100ba951
add eax, ecx
jmp 0x100ba95a
test byte [edx + 0xa], 0x80
jne 0x100ba95a
sub eax, 0x14
mov ebp, dword [esp + 0x38]
movzx ecx, ax
test ebp, ebp
je 0x100ba97e
movzx edx, word [ebp + 8]
test dx, dx
jg 0x100ba972
add eax, edx
jmp 0x100ba97b
test byte [ebp + 0xa], 0x80
jne 0x100ba97e
add eax, 0xffffffec
movzx ecx, ax
mov eax, dword [esp + 0x20]
movzx edx, cx
test eax, eax
je 0x100ba9a1
cmp word [eax + 8], 0
jle 0x100ba9a1
test ebp, ebp
je 0x100ba9a1
cmp word [ebp + 8], 0
jle 0x100ba9a1
lea eax, [ecx - 0x14]
movzx edx, ax
xor eax, eax
cmp dword [esp + 0x20], eax
setne al
sub esi, eax
xor eax, eax
test ebp, ebp
setne al
sub esi, eax
cmp dx, 0xa
mov eax, 0xa
cmovl edx, eax
movzx eax, dx
cmp eax, esi
mov edx, eax
movzx eax, si
cmovge edx, eax
movzx eax, dx
mov esi, eax
jmp 0x100baa30
inc word [edi + 0x18]
movzx ecx, word [ebp + 8]
movzx edx, word [edi + 0x18]
test cx, cx
jg 0x100baa02
mov eax, dword [esi + 4]
mov ebp, dword [esp + 0x1c]
cmp word [eax + ebp*2], 0
jl 0x100baa02
sub ecx, dword [esp + 0x18]
add word [edi + 0x16], cx
movzx esi, word [edi + 0x16]
jmp 0x100baa34
mov eax, dword [esi + 8]
mov cx, word [eax + edx*2]
sub cx, word [eax + edx*2 - 2]
add cx, word [edi + 0x16]
test dword [esp + 0x3c], 0x100
movzx esi, cx
movzx eax, cx
mov word [edi + 0x16], cx
mov dword [esp + 0x14], esi
je 0x100baa38
add eax, 0xa
movzx esi, ax
mov word [edi + 0x16], ax
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x10]
lea eax, [esi + 0x10]
movzx ebp, ax
mov eax, dword [ecx + 0x38]
and eax, 3
cmp al, 3
jne 0x100baa50
mov esi, ebp
jmp 0x100baa6f
movsx ecx, word [ecx + 0x30]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, dword [esp + 0x28]
cdq
mov ecx, dword [ecx + 0x10]
movsx ecx, word [ecx + 0x28]
idiv ecx
inc eax
add eax, esi
movzx esi, ax
mov eax, ebp
movsx edx, si
movzx ebp, ax
mov eax, dword [esp + 0x24]
movsx ecx, ax
cmp ax, si
jl 0x100baaae
lea eax, [edx + 0x31]
cmp ecx, eax
jle 0x100baa90
mov eax, dword [esp + 0x24]
jmp 0x100baad2
lea eax, [edx + 0x1f]
cmp ecx, eax
jle 0x100baa9e
mov eax, dword [esp + 0x24]
inc eax
jmp 0x100baad2
sub ecx, edx
movzx eax, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add ax, word [esp + 0x24]
jmp 0x100baad2
lea eax, [ecx + 0x31]
cmp edx, eax
jle 0x100baaba
movzx ecx, si
jmp 0x100baad5
lea eax, [ecx + 0x1f]
cmp edx, eax
jle 0x100baac6
lea eax, [esi + 1]
jmp 0x100baad2
sub edx, ecx
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, si
movzx ecx, ax
movzx eax, cx
test ebx, 0x4000140
jne 0x100bab5d
mov ebx, ebp
movsx edx, cx
mov ebp, dword [esp + 0x14]
movsx esi, bp
add esi, 0x10
cmp cx, bx
jl 0x100bab29
lea eax, [esi + 0x31]
cmp edx, eax
jle 0x100bab03
movzx eax, cx
movzx eax, ax
jmp 0x100bab61
lea eax, [esi + 0x1f]
cmp edx, eax
jle 0x100bab15
lea eax, [ecx + 1]
movzx eax, ax
movzx eax, ax
jmp 0x100bab61
sub edx, esi
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, cx
movzx eax, ax
movzx eax, ax
jmp 0x100bab61
lea eax, [edx + 0x31]
cmp esi, eax
jle 0x100bab37
mov eax, ebx
movzx eax, ax
jmp 0x100bab61
lea eax, [edx + 0x1f]
cmp esi, eax
jle 0x100bab49
lea eax, [ebx + 1]
movzx eax, ax
movzx eax, ax
jmp 0x100bab61
sub esi, edx
movzx eax, byte [esi + str._n_n_t_t_b_b_a_a_a]
add ax, bx
movzx eax, ax
movzx eax, ax
jmp 0x100bab61
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, edi
mov ebx, dword [esp + 0x34]
push dword [esp + 0x6c]
movzx esi, cx
add eax, esi
add eax, dword [esp + 0x34]
mov word [edi + 0x14], ax
lea eax, [esi + ebp]
add eax, dword [esp + 0x34]
mov word [edi + 0x16], ax
mov ecx, dword [ebx + 4]
call fcn.100ba000
add esp, 4
mov edx, edi
mov ecx, ebx
call fcn.100b9d20
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x2c]
test al, 2
movzx edx, cx
movzx ecx, bp
cmove edx, ecx
mov word [edi + 0x16], dx
test al, 0x10
jne 0x100bac58
movzx ecx, word [edi + 0x18]
cmp cx, word [ebx + 0x34]
jae 0x100bac58
cmp cx, word [ebx + 0x32]
jb 0x100babde
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
je 0x100bac58
cmp ecx, 3
jbe 0x100bac40
mov ebp, dword [esp + 0x4c]
mov ecx, dword [ebp]
cmp dword [ecx + 0x128], 0
je 0x100babfd
inc dword [ebp + 0x24]
mov dword [ebp + 0xc], 9
cmp dword [ecx + 0x174], 0
je 0x100bac40
cmp dword [ebp + 0xc], 9
je 0x100bac39
inc dword [ebp + 0x70]
mov eax, dword [ebp + 0x70]
cmp eax, dword [ecx + 0x17c]
jb 0x100bac40
push dword [ecx + 0x178]
mov eax, dword [ecx + 0x174]
call eax
add esp, 4
test eax, eax
je 0x100bac39
inc dword [ebp + 0x24]
mov dword [ebp + 0xc], 9
mov dword [ebp + 0x70], 0
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
add eax, esi
mov ecx, dword [esp + 0x34]
push eax
push ebx
call fcn.100ba430
add esp, 8
mov eax, dword [esp + 0x44]
mov word [edi + 0x16], ax
jmp 0x100bac66
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x78]
call fcn.100b7710
cmp dword [esp + 0x14], 0
mov ebp, eax
mov ecx, pe_nt_image_headers32
je 0x100ba568
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov word [edi + 0x1a], cx
mov ecx, dword [esp + 0x5c]
mov dword [edi], eax
mov eax, dword [esp + 0x54]
mov word [edi + 0x1c], cx
mov ecx, dword [esp + 0x48]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x40]
mov dword [edi + 0x2c], ecx
mov ecx, dword [esp + 0x44]
mov word [edi + 0x18], ax
mov word [edi + 0x32], bp
mov word [edi + 0x16], cx
mov word [edi + 0x30], dx
cmp ax, bp
jne 0x100badb7
mov ebp, dword [esp + 0x1c]
movzx ecx, word [esi + 0x32]
lea eax, [ebp + 1]
cmp eax, ecx
jae 0x100badb7
cmp word [esp + 0x40], dx
jne 0x100badb7
mov eax, dword [esi + 0x38]
test al, 0x40
jne 0x100badb7
test al, al
jns 0x100badb7
test dword [ebx + 0x50], 0x4000
jne 0x100badb7
mov eax, dword [esi + 8]
cmp word [eax + ebp*2 + 2], 0x2a
jl 0x100badb7
movzx eax, dx
mov ecx, ebx
inc eax
mov edx, edi
push eax
call fcn.100b9950
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x100badbb
movzx ecx, word [edi + 0x30]
mov eax, dword [edi + 0x38]
inc word [edi + 0x18]
inc word [edi + 0x32]
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4], ebx
add edx, 5
inc word [edi + 0x30]
or dword [edi + 0x2c], 0x8000
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x34]
mov si, word [eax + ebp*2]
sub si, word [eax + ebp*2 + 2]
movzx eax, si
sub word [edi + 0x16], ax
add eax, edx
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
push eax
push esi
call fcn.100ba430
mov eax, dword [esp + 0x4c]
add esp, 8
mov word [edi + 0x16], ax
mov eax, dword [esp + 0x40]
mov word [edi + 0x18], ax
mov eax, dword [esp + 0x64]
mov word [edi + 0x32], ax
mov eax, dword [esp + 0x48]
mov dword [edi + 0x2c], eax
jmp 0x100badbb
mov esi, dword [esp + 0x10]
jmp 0x100bac8d
mov ebx, dword [esp + 0x14]
mov eax, ebx
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10115f0d
add esp, 0xd4
ret