Function at 0x445348
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
and dword [esp + 0x38], 0
and dword [esp + 0x1c], 0
push ebx
push esi
mov esi, ecx
mov ebx, edx
push edi
mov dword [esp + 0x14], esi
mov eax, dword [esi + 0x38]
mov ecx, dword [esi]
dec eax
mov edi, dword [esi + 8]
mov dword [esp + 0x20], eax
dec eax
mov dword [esi + 0x38], eax
mov edx, dword [ebx + 0x30]
mov dword [esp + 0x3c], eax
mov al, byte [ebx + 4]
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0x83
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x1c], eax
mov eax, dword [edx]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], eax
je 0x445489
cmp byte [ecx + 0x51], 0
mov dword [esp + 0x10], 1
jne 0x445489
imul eax, eax, 0x18
mov dword [esp + 0x40], eax
mov eax, dword [ebx]
mov esi, dword [esp + 0x10]
cmp esi, dword [eax]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jg 0x445489
and dword [esp + 0x38], 0
test eax, eax
jle 0x44540f
mov esi, dword [esp + 0x38]
lea ecx, [edx + 0x18]
mov edi, eax
movzx eax, word [ecx]
cmp eax, dword [esp + 0x10]
je 0x4453fb
inc esi
add ecx, 0x18
cmp esi, edi
jl 0x4453ea
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x14]
cmp dword [esp + 0x38], eax
jne 0x44547b
push 0
mov edx, 0x96
call fcn.0042a130
pop ecx
mov ecx, eax
test ecx, ecx
je 0x4454e0
mov eax, dword [esp + 0x10]
or dword [ecx + 4], 0x400
mov edx, dword [esp + 0x34]
mov dword [ecx + 8], eax
push ecx
mov ecx, esi
call fcn.0042ae1d
mov edx, eax
mov dword [esp + 0x38], edx
mov dword [ebx + 0x30], edx
pop ecx
test edx, edx
je 0x445473
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov word [ecx + edx + 0x18], ax
mov eax, dword [esp + 0x18]
inc eax
add ecx, 0x18
mov dword [esp + 0x18], eax
mov dword [esp + 0x40], ecx
jmp 0x445477
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
inc dword [esp + 0x10]
cmp byte [ecx + 0x51], 0
je 0x4453c2
lea eax, [eax*4 + 4]
push 0
push eax
call fcn.00404e37
mov dword [esp + 0x54], eax
pop ecx
pop ecx
test eax, eax
je 0x4454e8
mov ecx, dword [esp + 0x18]
xor edx, edx
inc edx
mov dword [eax], ecx
cmp ecx, edx
jl 0x4454cf
mov edi, dword [esp + 0x34]
mov esi, eax
add edi, 0x18
movzx eax, word [edi]
lea edi, [edi + 0x18]
dec eax
mov dword [esi + edx*4], eax
inc edx
cmp edx, ecx
jle 0x4454b8
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x14]
push ecx
mov edx, ebx
mov ecx, esi
call fcn.0044455b
pop ecx
mov dword [esp + 0x50], eax
jmp 0x4454ed
push 7
pop eax
jmp 0x445b54
and dword [esp + 0x50], 0
mov eax, dword [esp + 0x34]
mov edx, eax
mov dword [ebx + 0x30], eax
mov ecx, dword [esi]
push 0
call fcn.0042a8f2
cmp byte [esp + 0x13], 0x83
pop ecx
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x30], eax
jne 0x445518
and dword [esp + 0x40], 0
jmp 0x44559f
mov eax, dword [ebx]
push 0
mov ecx, dword [eax]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x3c], ecx
inc ecx
lea edx, [eax + 1]
add eax, ecx
push edx
push 0
mov dword [esp + 0x4c], edx
mov ecx, edi
push 0x46
pop edx
mov dword [esi + 0x2c], eax
call fcn.0041b8a1
mov edx, dword [esp + 0x44]
add esp, 0xc
mov ecx, dword [esp + 0x2c]
push 1
call fcn.00443891
mov dword [esp + 0x2c], eax
pop ecx
test eax, eax
je 0x44559f
and dword [esp + 0x48], 0
cmp dword [esp + 0x38], 0
jle 0x44559f
mov edi, dword [esp + 0x48]
add eax, 0x14
mov dword [esp + 0x34], eax
push edi
mov edx, ebx
mov ecx, esi
call fcn.00444520
pop ecx
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
add ecx, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x34], ecx
mov eax, dword [eax + 0x10]
mov byte [edi + eax], 0
inc edi
cmp edi, dword [esp + 0x38]
jl 0x445571
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov edx, ebx
and dword [ebx + 0x34], 0
mov ecx, esi
push str.ORDER
and dword [eax + 0x38], 0
push dword [ebx + 0x30]
call fcn.00428cc7
mov eax, dword [esp + 0x24]
pop ecx
pop ecx
cmp dword [eax + 0x34], 0
jne 0x4455db
push str.ORDER
push dword [eax + 0x30]
mov edx, eax
mov ecx, esi
call fcn.00428cc7
pop ecx
pop ecx
push dword [esp + 0x20]
mov edx, ebx
mov ecx, esi
call fcn.004443fb
xor edx, edx
pop ecx
cmp dword [ebx + 0xc], edx
je 0x44563f
cmp byte [esp + 0xf], 0x83
jne 0x44563f
mov eax, dword [esi + 0x2c]
inc eax
mov dword [esp + 0x38], eax
lea ecx, [eax + 1]
mov dword [esp + 0x34], ecx
mov dword [esi + 0x2c], ecx
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x445613
inc ecx
jmp 0x445616
mov ecx, dword [ebx + 0xc]
push edx
push eax
push ecx
push 0x4e
pop edx
mov ecx, edi
call fcn.0041b8a1
add esp, 0xc
mov ecx, edi
push 0
push dword [esp + 0x38]
push dword [esp + 0x40]
push 0x4e
pop edx
call fcn.0041b8a1
add esp, 0xc
jmp 0x445647
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
mov edx, dword [ebx + 0x3c]
test edx, edx
je 0x445657
mov ecx, dword [esp + 0x2c]
call fcn.0042a441
and dword [ebx + 0x3c], 0
mov eax, dword [esi + 0x2c]
inc eax
mov byte [esp + 0x70], 0xd
mov dword [esp + 0x24], eax
mov dword [esp + 0x74], eax
mov byte [esp + 0x58], 0xd
lea edx, [eax + 1]
xor eax, eax
lea ecx, [edx + 2]
mov dword [esp + 0x10], edx
mov dword [esi + 0x2c], ecx
movzx ecx, byte [ebx + 4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
call fcn.004439ac
push eax
push str.MERGE___s_
push 1
push esi
call fcn.0041ba4e
mov eax, dword [edi + 0x6c]
mov ecx, edi
inc eax
push eax
push 0
push dword [esp + 0x3c]
push 0xd
pop edx
call fcn.0041b8a1
mov ecx, dword [esp + 0x54]
add esp, 0x1c
mov esi, eax
mov eax, dword [esp + 0x1c]
push str.LEFT
push 1
push dword [esp + 0x1c]
mov dword [eax + 0xc], ecx
call fcn.0041ba4e
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x7c]
mov ecx, dword [esp + 0x20]
add esp, 0xc
push eax
call fcn.0044788b
mov edx, dword [esp + 0x28]
pop ecx
mov ecx, edi
call fcn.0041bb39
mov edx, esi
mov ecx, edi
call fcn.0041c004
mov ecx, dword [edi + 0x6c]
mov dword [eax + 8], ecx
mov ecx, edi
mov eax, dword [edi + 0x6c]
inc eax
push eax
push 0
push dword [esp + 0x18]
push 0xd
pop edx
call fcn.0041b8a1
mov edi, dword [ebx + 0xc]
add esp, 0xc
mov esi, dword [ebx + 0x10]
and dword [ebx + 0x10], 0
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x34]
push str.RIGHT
push 1
push dword [esp + 0x1c]
mov dword [ebx + 0xc], eax
call fcn.0041ba4e
add esp, 0xc
lea eax, [esp + 0x58]
mov ecx, dword [esp + 0x14]
mov edx, ebx
push eax
call fcn.0044788b
pop ecx
mov dword [ebx + 0xc], edi
mov edi, dword [esp + 0x10]
mov edx, edi
mov dword [ebx + 0x10], esi
mov esi, dword [esp + 0x30]
mov ecx, esi
call fcn.0041bb39
push dword [esp + 0x20]
lea eax, [edi + 1]
mov edx, ebx
push dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
mov ecx, edi
push dword [esp + 0x48]
push eax
push dword [ebp + 8]
lea eax, [esp + 0x84]
push eax
call fcn.004450c9
mov dword [esp + 0x60], eax
add esp, 0x18
mov al, byte [esp + 0xf]
cmp al, 0x83
je 0x4457be
cmp al, 0x82
jne 0x4457ea
push dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov edx, ebx
push dword [esp + 0x2c]
add eax, 2
mov ecx, edi
push dword [esp + 0x48]
push eax
push dword [ebp + 8]
lea eax, [esp + 0x6c]
push eax
call fcn.004450c9
add esp, 0x18
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x28]
call fcn.0044390a
mov al, byte [esp + 0xf]
cmp al, 0x84
je 0x4458fb
cmp al, 0x85
je 0x4458fb
mov eax, dword [esp + 0x10]
mov ecx, esi
push 0
push dword [esp + 0x48]
add eax, 2
push eax
push 0xc
pop edx
call fcn.0041b8a1
add esp, 0xc
mov dword [esp + 0x30], eax
mov ecx, esi
push 0
push dword [esp + 0x24]
push dword [esp + 0x18]
push 0xe
pop edx
call fcn.0041b8a1
mov edx, dword [esp + 0x3c]
add esp, 0xc
mov ecx, esi
mov dword [esp + 0x34], eax
call fcn.0041b91e
mov eax, dword [esp + 0x1c]
mov cx, word [ebx + 6]
mov dx, word [eax + 6]
call fcn.00408253
mov word [ebx + 6], ax
mov eax, dword [esp + 0x10]
mov ecx, esi
push 0
push dword [esp + 0x4c]
inc eax
push eax
push 0xc
pop edx
call fcn.0041b8a1
add esp, 0xc
mov dword [esp + 0x38], eax
mov ecx, esi
push 0
push dword [esp + 0x24]
push dword [esp + 0x2c]
push 0xe
pop edx
call fcn.0041b8a1
mov edx, dword [esp + 0x44]
add esp, 0xc
mov ecx, esi
call fcn.0041b91e
mov eax, dword [esp + 0x10]
mov ecx, esi
push 0
push dword [esp + 0x4c]
inc eax
push eax
push 0xc
pop edx
call fcn.0041b8a1
add esp, 0xc
mov dword [esp + 0x28], eax
mov ecx, esi
push 0
push dword [esp + 0x34]
push dword [esp + 0x2c]
push 0xe
pop edx
call fcn.0041b8a1
mov edx, dword [esp + 0x48]
add esp, 0xc
mov ecx, esi
call fcn.0041b91e
mov al, byte [esp + 0xf]
cmp al, 0x83
jne 0x445934
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x40], eax
jmp 0x445992
mov edx, dword [esp + 0x20]
mov ecx, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
cmp al, 0x85
jne 0x445861
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x38], ecx
movzx eax, word [eax + 6]
cmp word [ebx + 6], ax
jle 0x445927
mov word [ebx + 6], ax
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
jmp 0x4458a0
cmp al, 0x85
jne 0x44594e
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
inc eax
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x40], eax
jmp 0x4459ad
push 0
push dword [esp + 0x34]
mov ecx, esi
push dword [esp + 0x2c]
push 0xe
pop edx
call fcn.0041b8a1
mov edx, dword [esp + 0x48]
add esp, 0xc
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.0041b91e
cmp byte [esp + 0xf], 0x82
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
jne 0x4459ad
mov eax, dword [esp + 0x10]
mov ecx, esi
push 0
push dword [esp + 0x48]
add eax, 2
push eax
push 0xc
pop edx
call fcn.0041b8a1
add esp, 0xc
push 0
push dword [esp + 0x3c]
mov ecx, esi
push dword [esp + 0x18]
push 0xe
pop edx
call fcn.0041b8a1
mov edx, dword [esp + 0x48]
add esp, 0xc
mov ecx, esi
call fcn.0041b91e
mov edx, dword [esp + 0x54]
mov ecx, esi
call fcn.0041c004
mov ecx, dword [esi + 0x6c]
push 0
push dword [esp + 0x38]
mov dword [eax + 8], ecx
mov ecx, esi
push dword [esp + 0x2c]
push 0xe
pop edx
call fcn.0041b8a1
add esp, 0xc
mov ecx, esi
push 0
push dword [esp + 0x3c]
push dword [esp + 0x18]
push 0xe
pop edx
call fcn.0041b8a1
mov edx, dword [esp + 0x48]
add esp, 0xc
mov ecx, esi
call fcn.0041bba0
xor eax, eax
mov ecx, esi
push eax
push eax
push eax
push 0x56
pop edx
call fcn.0041b8a1
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffff1
push dword [esp + 0x50]
call fcn.0041bf48
push 0xfffffffffffffff7
push dword [esp + 0x5c]
mov ecx, esi
push dword [esp + 0x28]
push dword [esp + 0x74]
push dword [esp + 0x90]
push 0x57
pop edx
call fcn.0041b9de
add esp, 0x1c
xor edx, edx
inc edx
mov ecx, esi
call fcn.0041bd6f
push dword [esp + 0x40]
push dword [esp + 0x34]
push dword [esp + 0x30]
push 0x10
pop edx
call fcn.0041b8a1
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov ecx, esi
call fcn.0041bba0
mov esi, dword [ebx + 0x34]
mov dword [esp + 0x50], esi
test esi, esi
je 0x445b3b
mov edi, dword [esp + 0x2c]
mov edx, dword [esi]
mov eax, dword [esi + 0x34]
mov dword [esp + 0x54], eax
test edx, edx
je 0x445aaf
mov ecx, edi
call fcn.0042b03d
mov edx, dword [esi + 0x20]
mov ecx, edi
call fcn.0043672e
mov edx, dword [esi + 0x24]
mov ecx, edi
call fcn.0042a4e4
mov edx, dword [esi + 0x28]
test edx, edx
je 0x445ad1
mov ecx, edi
call fcn.0042b03d
mov edx, dword [esi + 0x2c]
mov ecx, edi
call fcn.0042a4e4
mov edx, dword [esi + 0x30]
test edx, edx
je 0x445ae9
mov ecx, edi
call fcn.0042b03d
mov edx, dword [esi + 0x3c]
mov ecx, edi
call fcn.0042a4e4
mov edx, dword [esi + 0x48]
test edx, edx
je 0x445b0e
mov esi, dword [edx + 0x24]
mov ecx, edi
call fcn.0045676e
mov edx, esi
test esi, esi
jne 0x445afa
mov esi, dword [esp + 0x50]
mov edx, dword [esi + 0x40]
test edx, edx
je 0x445b1c
mov ecx, edi
call fcn.0043714c
mov edx, esi
mov ecx, edi
call fcn.00404c57
mov eax, dword [esp + 0x54]
mov esi, eax
mov dword [esp + 0x50], eax
test eax, eax
jne 0x445a9b
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, edi
mov dword [ebx + 0x34], eax
mov dword [eax + 0x38], ebx
call fcn.0041ba9d
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret