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

Disassembly:
sub esp, 0x84
push ebx
mov ebx, dword [esp + 0x8c]
push ebp
xor ebp, ebp
xor eax, eax
cmp byte [ebx + 0x16], 2
push esi
push edi
mov dword [esp + 0x30], vtable.CBuffer.0
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], 0x20
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebp
mov word [esp + 0x80], ax
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x84], 0x4b5adc
jne 0x43ec46
cmp word [ebx + 0x40], bp
ja 0x43ec3e
xor eax, eax
jmp 0x43ec46
mov ecx, dword [ebx + 0x48]
mov eax, dword [ecx]
add eax, 0xc
mov edx, dword [ebx + 0x3c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0xffffffff
xor esi, esi
movzx ecx, word [edx + 2]
cmp esi, ecx
jge 0x43ec7b
movzx ecx, si
lea ecx, [ecx + ecx + 4]
movzx edi, word [ecx + edx]
cmp dword [esp + 0x18], edi
jge 0x43ec78
movzx ecx, word [ecx + edx]
mov dword [esp + 0x18], ecx
inc esi
jmp 0x43ec57
mov ecx, dword [esp + 0x18]
inc ecx
cmp ecx, ebp
mov dword [esp + 0x1c], ebp
jle 0x43edee
xor edx, edx
jmp 0x43ec94
mov eax, dword [esp + 0x14]
cmp byte [ebx + 0x16], 2
je 0x43ec9e
xor esi, esi
jmp 0x43ecb0
movzx ecx, word [ebx + 0x40]
cmp ecx, edx
jg 0x43ecaa
xor esi, esi
jmp 0x43ecb0
mov ecx, dword [ebx + 0x4c]
mov esi, dword [ecx + edx*4]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov edx, 1
mov word [esp + 0x60], dx
mov edx, 0x20
mov word [esp + 0x62], dx
lea edx, [edi*4]
mov ebx, edx
imul ebx, ecx
mov eax, ecx
mov ecx, 4
mov word [esp + 0x80], cx
mov ecx, dword [esp + 0x9c]
add edx, 3
neg eax
and edx, 0xfffffffc
add ecx, 0xfffffffe
mov dword [esp + 0x54], 0x28
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], edx
mov dword [esp + 0x40], esi
cmp ecx, 6
ja case.default.0x43ed30
jmp dword [ecx*4 + 0x43f1c4]
cdq
mov ecx, eax
xor ecx, edx
sub ecx, edx
push edi
lea eax, [esp + 0x34]
call fcn.0043c790
jmp 0x43edce
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043c8d0
jmp 0x43edce
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043c930
jmp 0x43edce
cdq
xor eax, edx
sub eax, edx
mov edx, eax
lea ecx, [esp + 0x30]
call fcn.0043c9a0
jmp 0x43edce
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043ca00
jmp 0x43edce
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043ca70
jmp 0x43edce
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043caf0
jmp 0x43edce
cdq
xor eax, edx
sub eax, edx
mov edx, eax
lea ecx, [esp + 0x30]
call fcn.0043c850
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x98]
inc eax
movzx edx, ax
inc ecx
cmp edx, ecx
mov dword [esp + 0x1c], eax
jl 0x43ec90
mov eax, 1
mov edx, eax
mov dword [esp + 0x28], eax
cmp dx, word [ebx + 0x42]
jae 0x43f1b9
mov edx, dword [esp + 0x9c]
add edx, 0xfffffffe
mov dword [esp + 0x24], edx
cmp byte [ebx + 0x16], 2
movzx edx, ax
je 0x43ee20
mov dword [esp + 0x14], ebp
jmp 0x43ee3b
movzx eax, word [ebx + 0x40]
cmp eax, edx
jg 0x43ee2e
mov dword [esp + 0x14], ebp
jmp 0x43ee3b
mov eax, dword [ebx + 0x48]
mov eax, dword [eax + edx*4]
add eax, 0xc
mov dword [esp + 0x14], eax
mov edi, dword [ebx + 0x3c]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], ebp
mov eax, edi
cmp edx, ebp
jbe 0x43ee5d
mov ecx, edx
mov edi, edi
sub ecx, 1
movzx esi, word [eax + 2]
lea eax, [eax + esi*2 + 4]
jne 0x43ee50
movzx ecx, word [eax + 2]
cmp dword [esp + 0x1c], ecx
jge 0x43eec2
mov eax, edi
cmp edx, ebp
jbe 0x43ee7d
mov ecx, edx
nop
sub ecx, 1
movzx esi, word [eax + 2]
lea eax, [eax + esi*2 + 4]
jne 0x43ee70
movzx esi, word [esp + 0x1c]
lea esi, [esi + esi + 4]
movzx eax, word [esi + eax]
cmp dword [esp + 0x18], eax
jge 0x43eebc
mov eax, edi
cmp edx, ebp
jbe 0x43eeb4
mov ecx, edx
jmp 0x43eea0
sub ecx, 1
movzx ebx, word [eax + 2]
lea eax, [eax + ebx*2 + 4]
jne 0x43eea0
mov ebx, dword [esp + 0x98]
movzx ecx, word [esi + eax]
mov dword [esp + 0x18], ecx
inc dword [esp + 0x1c]
jmp 0x43ee46
dec edx
cmp byte [ebx + 0x16], 2
mov dword [esp + 0x20], edx
je 0x43eed1
xor esi, esi
jmp 0x43eef5
movzx eax, word [ebx + 0x40]
cmp ax, bp
ja 0x43eede
xor esi, esi
jmp 0x43eef5
cmp edx, 0xffffffff
je 0x43eef0
mov ecx, dword [ebx + 0x4c]
movzx eax, ax
add eax, edx
mov esi, dword [ecx + eax*4]
jmp 0x43eef5
mov edx, dword [ebx + 0x4c]
mov esi, dword [edx]
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov edx, 1
mov word [esp + 0x60], dx
mov edx, 0x20
mov word [esp + 0x62], dx
lea edx, [edi*4]
mov ebx, edx
imul ebx, ecx
mov eax, ecx
mov ecx, 4
add edx, 3
mov word [esp + 0x80], cx
mov ecx, dword [esp + 0x24]
neg eax
and edx, 0xfffffffc
mov dword [esp + 0x54], 0x28
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], edx
mov dword [esp + 0x40], esi
cmp ecx, 6
ja case.default.0x43ef73
jmp dword [ecx*4 + 0x43f1e0]
cdq
mov ecx, eax
xor ecx, edx
sub ecx, edx
push edi
lea eax, [esp + 0x34]
call fcn.0043c790
jmp 0x43f011
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043c8d0
jmp 0x43f011
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043c930
jmp 0x43f011
cdq
xor eax, edx
sub eax, edx
mov edx, eax
lea ecx, [esp + 0x30]
call fcn.0043c9a0
jmp 0x43f011
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043ca00
jmp 0x43f011
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043ca70
jmp 0x43f011
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043caf0
jmp 0x43f011
cdq
xor eax, edx
sub eax, edx
mov edx, eax
lea ecx, [esp + 0x30]
call fcn.0043c850
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
movzx edx, ax
movzx eax, ax
inc ecx
cmp eax, ecx
mov dword [esp + 0x1c], edx
jge 0x43f19f
lea esp, [esp]
mov ecx, dword [esp + 0x98]
cmp byte [ecx + 0x16], 2
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
je 0x43f049
xor esi, esi
jmp 0x43f06e
movzx esi, word [ecx + 0x40]
cmp esi, eax
jg 0x43f055
xor esi, esi
jmp 0x43f06e
cmp edi, 0xffffffff
je 0x43f068
cmp eax, ebp
jne 0x43f068
mov eax, dword [ecx + 0x4c]
add edi, esi
mov esi, dword [eax + edi*4]
jmp 0x43f06e
mov ecx, dword [ecx + 0x4c]
mov esi, dword [ecx + eax*4]
mov ecx, dword [edx + 0xc]
mov edi, dword [edx + 8]
mov edx, 1
mov word [esp + 0x60], dx
mov edx, 0x20
mov word [esp + 0x62], dx
lea edx, [edi*4]
mov ebx, edx
imul ebx, ecx
mov eax, ecx
mov ecx, 4
add edx, 3
mov word [esp + 0x80], cx
mov ecx, dword [esp + 0x24]
neg eax
and edx, 0xfffffffc
mov dword [esp + 0x54], 0x28
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], edx
mov dword [esp + 0x40], esi
cmp ecx, 6
ja case.default.0x43f0e8
jmp dword [ecx*4 + 0x43f1fc]
cdq
mov ecx, eax
xor ecx, edx
sub ecx, edx
push edi
lea eax, [esp + 0x34]
call fcn.0043c790
jmp 0x43f186
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043c8d0
jmp 0x43f186
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043c930
jmp 0x43f186
cdq
xor eax, edx
sub eax, edx
mov edx, eax
lea ecx, [esp + 0x30]
call fcn.0043c9a0
jmp 0x43f186
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043ca00
jmp 0x43f186
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043ca70
jmp 0x43f186
cdq
xor eax, edx
sub eax, edx
push edi
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.0043caf0
jmp 0x43f186
cdq
xor eax, edx
sub eax, edx
mov edx, eax
lea ecx, [esp + 0x30]
call fcn.0043c850
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
movzx eax, ax
inc ecx
cmp eax, ecx
jl 0x43f030
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x98]
inc eax
mov dword [esp + 0x28], eax
cmp ax, word [ebx + 0x42]
jb 0x43ee11
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret