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

Disassembly:
sub esp, 0xcc
push ebx
push ebp
mov ebx, vtable.CBuffer.0
push esi
xor esi, esi
mov eax, 0x20
push edi
mov edi, dword [esp + 0xe0]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x18], ebx
xor ebx, ebx
mov dword [esp + 0x90], eax
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x3c]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
cmp bx, word [edi + 0x44]
jae 0x43d92f
movzx ebx, word [edi + 0x44]
sub ebx, 1
movzx ebp, word [eax + 2]
lea eax, [eax + ebp*2 + 4]
jne 0x43d922
movzx ebx, word [edi + 0x46]
movzx eax, word [eax + ebx*2 + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xe4]
cmp eax, esi
jne 0x43d94b
xor eax, eax
jmp 0x43d951
mov eax, dword [eax + 0x4d0]
mov ebx, 1
mov word [esp + 0xa8], bx
mov ebx, 0x20
mov word [esp + 0xaa], bx
mov ebx, 4
mov word [esp + 0xc8], bx
movzx ebx, word [edi + 0x40]
mov dword [esp + 0x88], eax
movsx eax, word [edi + 0xe]
movsx edi, word [edi + 0xc]
imul ebx, eax
neg ebx
mov ebp, 0x28
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x3c], ebp
mov ebp, ebx
imul ebx, edi
add ebx, ebx
add ebx, ebx
neg ebp
mov dword [esp + 0x50], ebx
mov dword [esp + 0x44], ebp
mov ebp, 1
lea ebx, [edi*4 + 3]
and ebx, 0xfffffffc
mov dword [esp + 0x64], ebx
mov word [esp + 0x48], bp
mov ebp, 0x20
mov ebx, 4
mov word [esp + 0x68], bx
mov word [esp + 0x4a], bp
mov ebp, dword [esp + 0xe0]
mov ebx, dword [ebp + 0x20]
mov dword [esp + 0x28], ebx
mov ebx, 0x4b5adc
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x6c], ebx
movsx ebx, byte [ebp + 0x17]
sub ebx, 1
mov dword [esp + 0xa0], 0x320
mov dword [esp + 0xa4], 0x258
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], 0xffe2b400
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], 0xc80
mov dword [esp + 0x40], edi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
je 0x43dc38
sub ebx, 1
je 0x43dbd9
sub ebx, 1
je 0x43db62
cmp ecx, esi
jle 0x43daec
cmp edx, esi
push esi
jle 0x43dab5
push esi
lea ebx, [esp + 0x20]
push ebx
mov ebx, eax
imul ebx, dword [esp + 0x1c]
push ebx
push esi
push eax
push edi
push ecx
push edx
lea ecx, [esp + 0x9c]
push ecx
lea eax, [esp + 0x40]
call fcn.0041b750
jmp 0x43dce6
mov ebx, edx
neg ebx
push ebx
mov dword [esp + 0x1c], ebx
lea ebx, [esp + 0x20]
push ebx
mov ebx, eax
imul ebx, dword [esp + 0x1c]
push ebx
mov ebx, dword [esp + 0x24]
push ebx
push eax
add edi, edx
push edi
push ecx
push esi
lea edx, [esp + 0x9c]
push edx
lea eax, [esp + 0x40]
call fcn.0041b750
jmp 0x43dce6
cmp edx, esi
jle 0x43db22
mov ebx, ecx
neg ebx
push ebx
push esi
lea ebx, [esp + 0x20]
push ebx
mov ebx, eax
imul ebx, dword [esp + 0x1c]
sub ebx, ecx
push ebx
push esi
add eax, ecx
push eax
push edi
push esi
push edx
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x40]
call fcn.0041b750
jmp 0x43dce6
mov ebp, ecx
mov ebx, edx
neg ebx
neg ebp
push ebp
push ebx
mov dword [esp + 0x1c], ebx
lea ebx, [esp + 0x20]
push ebx
mov ebx, eax
imul ebx, dword [esp + 0x1c]
sub ebx, ecx
push ebx
mov ebx, dword [esp + 0x24]
push ebx
add eax, ecx
push eax
add edi, edx
push edi
push esi
push esi
lea ecx, [esp + 0x9c]
push ecx
lea eax, [esp + 0x40]
call fcn.0041b750
jmp 0x43dce6
cmp ecx, esi
push 0xff
push 0xff
push 0xff
jle 0x43dbb4
cmp edx, esi
push esi
jle 0x43db94
push esi
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x9c]
call fcn.0043c640
jmp 0x43dce6
mov ebx, edx
neg ebx
push ebx
push eax
add edi, edx
push edi
push ecx
push esi
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x9c]
call fcn.0043c640
jmp 0x43dce6
mov ebx, ecx
add eax, ecx
neg ebx
cmp edx, esi
lea ecx, [esp + 0x84]
push ebx
jle 0x43dc1f
push esi
push eax
push edi
push esi
push edx
lea eax, [esp + 0x3c]
call fcn.0043c640
jmp 0x43dce6
cmp ecx, esi
push esi
push esi
push esi
jle 0x43dbb4
cmp edx, esi
push esi
jle 0x43dbff
push esi
push eax
push edi
push ecx
lea ecx, [esp + 0x98]
push edx
lea eax, [esp + 0x3c]
call fcn.0043c640
jmp 0x43dce6
mov ebx, edx
neg ebx
push ebx
push eax
add edi, edx
push edi
push ecx
push esi
lea ecx, [esp + 0x9c]
lea eax, [esp + 0x3c]
call fcn.0043c640
jmp 0x43dce6
mov ebx, edx
neg ebx
push ebx
push eax
add edi, edx
push edi
push esi
push esi
lea eax, [esp + 0x3c]
call fcn.0043c640
jmp 0x43dce6
cmp ecx, esi
jle 0x43dc81
cmp edx, esi
push esi
jle 0x43dc56
push esi
lea ebx, [esp + 0x20]
push ebx
mov ebx, eax
imul ebx, dword [esp + 0x1c]
push ebx
push esi
push eax
push edi
push ecx
push edx
jmp 0x43dcd5
mov ebx, edx
neg ebx
push ebx
mov dword [esp + 0x1c], ebx
lea ebx, [esp + 0x20]
push ebx
mov ebx, eax
imul ebx, dword [esp + 0x1c]
push ebx
mov ebx, dword [esp + 0x24]
push ebx
push eax
add edi, edx
push edi
push ecx
push esi
lea eax, [esp + 0x9c]
push eax
jmp 0x43dcdd
cmp edx, esi
jle 0x43dcab
mov ebx, ecx
neg ebx
push ebx
push esi
lea ebx, [esp + 0x20]
push ebx
mov ebx, eax
imul ebx, dword [esp + 0x1c]
sub ebx, ecx
push ebx
push esi
add eax, ecx
push eax
push edi
push esi
push edx
lea ecx, [esp + 0x9c]
push ecx
jmp 0x43dcdd
mov ebp, ecx
neg ebp
push ebp
mov ebx, edx
neg ebx
push ebx
mov dword [esp + 0x1c], ebx
lea ebx, [esp + 0x20]
push ebx
mov ebx, eax
imul ebx, dword [esp + 0x1c]
sub ebx, ecx
push ebx
mov ebx, dword [esp + 0x24]
push ebx
add eax, ecx
push eax
add edi, edx
push edi
push esi
push esi
lea edx, [esp + 0x9c]
push edx
lea eax, [esp + 0x40]
call fcn.0043cb70
mov esi, dword [esp + 0xe0]
inc word [esi + 0x46]
movzx edx, word [esi + 0x46]
mov eax, dword [esi + 0x3c]
xor ecx, ecx
cmp cx, word [esi + 0x44]
jae 0x43dd11
movzx ecx, word [esi + 0x44]
sub ecx, 1
movzx edi, word [eax + 2]
lea eax, [eax + edi*2 + 4]
jne 0x43dd04
movzx ecx, dx
movzx edx, word [eax + 2]
dec edx
xor eax, eax
cmp ecx, edx
setg al
pop edi
dec eax
and eax, ecx
mov word [esi + 0x46], ax
pop esi
pop ebp
pop ebx
add esp, 0xcc
ret