Function at 0x43d5c0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x28
push ebx
push ebp
mov ebp, dword [esp + 0x34]
push esi
mov esi, eax
mov eax, dword [esi + 8]
cmp eax, 0x4a7790
mov ebx, ecx
je 0x43da99
mov edx, dword [ebp + 8]
cmp edx, 0x4a7790
je 0x43da99
test eax, eax
lea ecx, [eax + 8]
jne 0x43d5f4
mov ecx, esi
test eax, eax
mov dword [esp + 0x14], ecx
je 0x43d601
mov eax, dword [eax + 4]
jmp 0x43d606
mov eax, 1
test edx, edx
lea ecx, [ecx + eax*8]
mov dword [esp + 0x28], ecx
je 0x43d616
mov ecx, dword [edx + 4]
jmp 0x43d61b
mov ecx, 1
test edx, edx
push edi
lea edi, [edx + 8]
jne 0x43d625
mov edi, ebp
lea edx, [edi + ecx*8]
mov dword [esp + 0x24], edx
xor edx, edx
cmp ebx, esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x34], edx
jne 0x43d63f
cmp eax, 1
jg 0x43d648
cmp ebx, ebp
jne 0x43d656
cmp ecx, 1
jle 0x43d656
mov esi, dword [ebx + 8]
mov dword [esp + 0x34], esi
mov dword [ebx + 8], 0x4a7788
cmp ecx, eax
jle 0x43d65c
mov eax, ecx
mov ecx, dword [ebx + 8]
shl eax, 1
cmp ecx, edx
jne 0x43d66e
mov dword [ebx + 8], 0x4a7788
jmp 0x43d675
cmp dword [ecx], edx
je 0x43d675
mov dword [ecx + 4], edx
mov ecx, dword [ebx + 8]
cmp eax, dword [ecx]
jle 0x43d694
push eax
push ebx
call fcn.0043d350
add esp, 8
test al, al
jne 0x43d694
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x28
ret
mov edx, dword [esp + 0x18]
mov cx, word [edi + 2]
xor eax, eax
mov ax, word [edx + 2]
cmp ax, cx
mov dword [esp + 0x1c], eax
jl 0x43d6af
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], 0
jmp 0x43d6c0
mov edi, dword [esp + 0x18]
movsx eax, word [edi + 2]
mov ecx, dword [esp + 0x2c]
lea edx, [edi + 8]
cmp edx, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], edx
je 0x43d6f3
jmp 0x43d6e0
movsx esi, word [edx + 2]
cmp esi, eax
jne 0x43d6ef
add edx, 8
cmp edx, ecx
jne 0x43d6e0
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x14]
movsx ebp, word [ecx + 2]
mov esi, dword [esp + 0x24]
add ecx, 8
cmp ecx, esi
mov dword [esp + 0x20], ecx
je 0x43d727
lea ebx, [ebx]
movsx edi, word [ecx + 2]
cmp edi, ebp
jne 0x43d71f
add ecx, 8
cmp ecx, esi
jne 0x43d710
mov edi, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
cmp ebp, eax
jle 0x43d79c
mov cl, byte [esp + 0x44]
test cl, cl
je 0x43d798
movsx ecx, word [esp + 0x1c]
cmp eax, ecx
jle 0x43d73e
mov ecx, eax
movsx eax, word [edi + 6]
cmp eax, ebp
jl 0x43d748
mov eax, ebp
cmp cx, ax
je 0x43d798
mov esi, dword [ebx + 8]
mov esi, dword [esi + 4]
movsx eax, ax
push eax
movsx ecx, cx
push ecx
push edx
mov eax, edi
call fcn.0043d510
mov edx, dword [ebx + 8]
mov eax, dword [edx + 4]
mov edi, dword [esp + 0x1c]
mov ecx, esi
sub eax, esi
sub ecx, edi
add esp, 0xc
cmp ecx, eax
jne 0x43d794
mov edx, edi
push edx
mov eax, esi
mov edi, ebx
call fcn.0043cfd0
mov dword [esp + 0x14], eax
add esp, 4
mov eax, ebp
jmp 0x43d818
mov dword [esp + 0x10], esi
mov eax, ebp
jmp 0x43d818
jge 0x43d818
mov al, byte [esp + 0x48]
test al, al
je 0x43d814
movsx ecx, word [esp + 0x1c]
cmp ebp, ecx
jle 0x43d7b1
mov ecx, ebp
mov eax, dword [esp + 0x14]
movsx eax, word [eax + 6]
mov edx, dword [esp + 0x30]
cmp eax, edx
jl 0x43d7c3
mov eax, edx
cmp cx, ax
je 0x43d814
mov edx, dword [ebx + 8]
mov esi, dword [edx + 4]
mov edx, dword [esp + 0x20]
movsx eax, ax
push eax
mov eax, dword [esp + 0x18]
movsx ecx, cx
push ecx
push edx
call fcn.0043d510
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 4]
mov edi, dword [esp + 0x1c]
mov edx, esi
sub ecx, esi
sub edx, edi
add esp, 0xc
cmp edx, ecx
jne 0x43d810
mov eax, edi
push eax
mov eax, esi
mov edi, ebx
call fcn.0043cfd0
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x43d814
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dx, word [edx + 6]
xor ecx, ecx
mov cx, word [edi + 6]
cmp cx, dx
mov ebp, ecx
jl 0x43d833
mov ebp, edx
cmp bp, ax
mov dword [esp + 0x1c], ebp
jle 0x43d890
mov edx, dword [esp + 0x4c]
mov ecx, dword [ebx + 8]
mov esi, dword [ecx + 4]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x2c]
push ebp
push eax
mov eax, dword [esp + 0x2c]
push eax
push ecx
push edx
push edi
push ebx
call dword [esp + 0x60]
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x30]
mov edx, esi
sub ecx, esi
sub edx, eax
add esp, 0x20
cmp edx, ecx
jne 0x43d88c
push eax
mov eax, esi
mov edi, ebx
call fcn.0043cfd0
mov edi, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x43d890
mov dword [esp + 0x10], esi
cmp word [edi + 6], bp
jne 0x43d89e
mov edi, dword [esp + 0x28]
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x14]
cmp word [eax + 6], bp
jne 0x43d8b0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], ecx
cmp edi, dword [esp + 0x2c]
je 0x43d93c
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x24]
jne 0x43d6c0
mov al, byte [esp + 0x44]
test al, al
je 0x43d93c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
movsx edx, word [eax + 2]
lea esi, [eax + 8]
cmp esi, ecx
je 0x43d8f2
movsx edi, word [esi + 2]
cmp edi, edx
jne 0x43d8f2
add esi, 8
cmp esi, ecx
jne 0x43d8e3
mov ecx, dword [ebx + 8]
mov edi, dword [ecx + 4]
movsx ecx, word [esp + 0x1c]
cmp edx, ecx
jle 0x43d903
mov ecx, edx
movsx edx, word [eax + 6]
push edx
push ecx
push esi
call fcn.0043d510
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x1c]
mov edx, edi
sub ecx, edi
sub edx, eax
add esp, 0xc
cmp edx, ecx
jne 0x43d933
push eax
mov eax, edi
mov edi, ebx
call fcn.0043cfd0
add esp, 4
mov ebp, dword [esp + 0x2c]
jmp 0x43d9bb
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
je 0x43d9fe
mov al, byte [esp + 0x48]
test al, al
je 0x43d9fe
mov eax, dword [esp + 0x14]
movsx edx, word [eax + 2]
lea esi, [eax + 8]
cmp esi, ecx
je 0x43d976
movsx edi, word [esi + 2]
cmp edi, edx
jne 0x43d976
add esi, 8
cmp esi, ecx
jne 0x43d967
mov ecx, dword [ebx + 8]
mov edi, dword [ecx + 4]
movsx ecx, word [esp + 0x1c]
cmp edx, ecx
jle 0x43d987
mov ecx, edx
movsx edx, word [eax + 6]
push edx
push ecx
push esi
call fcn.0043d510
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x1c]
mov edx, edi
sub ecx, edi
sub edx, eax
add esp, 0xc
cmp edx, ecx
jne 0x43d9b7
push eax
mov eax, edi
mov edi, ebx
call fcn.0043cfd0
add esp, 4
mov ebp, dword [esp + 0x24]
sub ebp, esi
sar ebp, 3
test ebp, ebp
jle 0x43d9fe
mov eax, dword [ebx + 8]
test eax, eax
je 0x43d9d6
mov ecx, dword [eax + 4]
mov edx, dword [eax]
add ecx, ebp
cmp ecx, edx
jle 0x43d9e8
push ebp
push ebx
call fcn.0043d350
add esp, 8
test al, al
je 0x43d68a
mov eax, dword [ebx + 8]
mov edx, dword [eax + 4]
lea edi, [eax + edx*8 + 8]
lea ecx, [ebp + ebp]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 8]
add dword [eax + 4], ebp
mov eax, dword [esp + 0x34]
test eax, eax
je 0x43da0f
push eax
call fcn.0045c7f1
add esp, 4
mov eax, dword [ebx + 8]
mov esi, dword [eax + 4]
test esi, esi
jne 0x43da3c
test eax, eax
je 0x43da2b
cmp dword [eax], 0
je 0x43da2b
push eax
call fcn.0045c7f1
add esp, 4
pop edi
pop esi
pop ebp
mov dword [ebx + 8], 0x4a7788
mov al, 1
pop ebx
add esp, 0x28
ret
cmp esi, 1
jne 0x43da66
mov ecx, dword [eax + 8]
mov dword [ebx], ecx
mov edx, dword [eax + 0xc]
push ebx
mov dword [ebx + 4], edx
call fcn.0042db71
add esp, 4
pop edi
pop esi
pop ebp
mov dword [ebx + 8], 0
mov al, 1
pop ebx
add esp, 0x28
ret
mov ecx, dword [eax]
mov edx, ecx
sar edx, 1
cmp esi, edx
jge 0x43da8f
cmp ecx, 0x32
jle 0x43da8f
lea ecx, [esi*8 + 8]
push ecx
push eax
call fcn.0045ca11
add esp, 8
test eax, eax
je 0x43da8f
mov dword [eax], esi
mov dword [ebx + 8], eax
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x28
ret
mov eax, dword [ebx + 8]
test eax, eax
je 0x43daae
cmp dword [eax], 0
je 0x43daae
push eax
call fcn.0045c7f1
add esp, 4
mov edx, dword [0x4a7780]
mov dword [ebx], edx
mov eax, dword [0x4a7784]
pop esi
mov dword [ebx + 4], eax
pop ebp
mov dword [ebx + 8], 0x4a7790
xor al, al
pop ebx
add esp, 0x28
ret