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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xac
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
mov ecx, dword [edx + 0x1b4]
mov dword [ebp - 0x4c], ecx
mov eax, dword [eax + 0xa8]
mov ecx, dword [ecx + 0x28]
mov ebx, dword [eax + 0x6c]
test ebx, ebx
je 0x483ffa
mov edi, eax
mov ebx, dword [eax + 0xc0]
mov dword [ebp - 0x50], ebx
cmp ebx, 0
je 0x483d6d
jl 0x48407c
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x78]
or eax, dword [ebx + 0x7c]
je 0x48393c
mov esi, dword [ebx + 0x28]
or esi, 0x40
mov dword [ebx + 0x28], esi
mov edx, dword [edx + 0x1b4]
mov dword [ebp - 0x4c], edx
mov edi, dword [ebx + 0xa8]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], 0
mov esi, dword [eax + 0x28]
mov ecx, esi
shr ecx, 5
and ecx, 0xfffff
test cl, 2
je 0x48396a
mov ebx, dword [ebp - 0x4c]
xor edx, edx
mov eax, dword [ebx + 0x2c]
add dword [ebp - 0x38], eax
adc dword [ebp - 0x34], edx
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x4c]
cmp dword [edi + 0xbc], 0
mov eax, dword [eax + 0x6c]
mov edx, dword [edx + 0x30]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
ja 0x4839a8
cmp dword [edi + 0xb8], 0xfff
ja 0x4839a8
and ecx, 0xffeff
and esi, 0xfe00001f
shl ecx, 5
or esi, ecx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x28], esi
mov ebx, dword [ebp + 8]
xor edi, edi
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x484070
mov eax, dword [eax + 0xc]
inc edi
test eax, eax
jne 0x4839b8
lea eax, [edi*4 + 4]
xor edx, edx
push ebx
push ebx
push edx
push eax
call fcn.0043f220
add esp, 0x10
mov esi, eax
test eax, eax
je 0x483e2b
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
xor edx, edx
test eax, eax
je 0x4839fe
nop
lea esi, [esi]
mov dword [esi + edx*4], eax
inc edx
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x4839f0
shl edx, 2
mov dword [esi + edx], 0
push 0x483280
push 4
push edi
push esi
call sub.msvcrt.dll_qsort
mov ecx, dword [ebp + 8]
add esp, 0x10
mov dword [ebp - 0xa4], 1
test edi, edi
mov dword [ecx + 0x64], 0
mov dword [ecx + 0x68], 0
je 0x483a93
xor ecx, ecx
jmp 0x483a4f
inc ecx
mov dword [edx + 0xa8], 1
cmp ecx, edi
je 0x483a93
mov edx, dword [esi + ecx*4]
mov ebx, dword [ebp + 8]
mov dword [edx + 0xc], 0
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x483d79
mov dword [edx + 0x10], eax
mov dword [eax + 0xc], edx
mov ebx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
or eax, dword [edx + 0x34]
mov dword [ebx + 0x68], edx
je 0x483a40
mov eax, dword [ebp - 0xa4]
inc ecx
mov dword [edx + 0xa8], eax
inc eax
mov dword [ebp - 0xa4], eax
cmp ecx, edi
jne 0x483a4f
sub esp, 0xc
push esi
call sub.msvcrt.dll_free
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0xa4]
add esp, 0x10
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x1b4]
cmp dword [eax + 0x60], ecx
jbe 0x483fc1
mov ebx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
imul ebx, eax
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x30], ebx
add dword [ebp - 0x30], esi
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x2c], 0
adc dword [ebp - 0x2c], edi
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x64]
test ebx, ebx
je 0x483f89
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x58], 0
neg eax
mov edx, eax
mov dword [ebp - 0x54], 0
sar edx, 0x1f
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
jmp 0x483c6b
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x8c], eax
test dword [ebp - 0x24], 0x100
jne 0x483d4a
mov eax, dword [ebp - 0x50]
mov edx, eax
mov dword [ebp - 0x48], eax
sar edx, 0x1f
mov dword [ebp - 0x44], edx
mov eax, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
add eax, 0xffffffff
mov dword [ebx + 0x70], esi
adc edx, 0xffffffff
add eax, dword [ebp - 0x48]
adc edx, dword [ebp - 0x44]
mov dword [ebx + 0x74], edi
mov esi, dword [ebp - 0x98]
mov edi, dword [ebp - 0x94]
and edi, edx
and esi, eax
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
add edx, esi
mov dword [ebx + 0x30], esi
adc ecx, edi
mov dword [ebx + 0x34], edi
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x60], edx
test ecx, ecx
jne 0x483d90
mov cl, byte [ebp - 0x8c]
mov eax, 1
shl eax, cl
mov edx, eax
mov ecx, eax
sar ecx, 0x1f
add edx, 0xffffffff
adc ecx, 0xffffffff
add edx, esi
adc ecx, edi
cmp edi, ecx
jb 0x483f2f
ja 0x483bb9
cmp esi, edx
jbe 0x483f2f
mov dword [ebp - 0x68], 0xffffffff
mov dword [ebp - 0x64], 0xffffffff
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], edx
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
xor eax, esi
xor edx, edi
or eax, edx
mov edx, dword [ebp - 0x60]
setne al
and eax, 0xff
sub edx, esi
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x30], edx
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x58], eax
sbb ecx, edi
add dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], ecx
mov edi, dword [ebp - 0x64]
adc dword [ebp - 0x2c], edi
mov eax, dword [ebx + 0xac]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + 4]
mov eax, dword [eax]
cmp edx, dword [ebx + 0x34]
ja 0x483c27
jb 0x483c20
cmp eax, dword [ebx + 0x30]
jae 0x483c27
mov dword [ebp - 0x58], 1
cld
mov esi, dword [ebx]
mov edi, str..lib
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
jne 0x483c58
or byte [ebx + 0x18], 1
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0
mov dword [ebp - 0x54], ebx
nop
lea esi, [esi]
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x483f7e
mov esi, dword [ebx + 0xac]
test esi, esi
je 0x483e0a
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x483e35
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jne 0x483c96
mov eax, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov dword [ecx + 4], edx
mov dword [ecx], eax
test byte [ebx + 0x15], 1
je 0x483c60
mov eax, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x30]
mov dword [ebx + 0x3c], edx
or eax, dword [ebx + 0x34]
je 0x483c60
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x28]
shr ecx, 5
and ecx, 0xfffff
mov dword [ebp - 0x24], ecx
and ecx, 2
mov dword [ebp - 0x28], ecx
je 0x483b10
mov edx, dword [ebx + 0x5c]
mov eax, 1
mov dword [ebp - 0x8c], edx
mov cl, byte [ebp - 0x8c]
shl eax, cl
mov edx, eax
mov ecx, eax
sar ecx, 0x1f
add edx, 0xffffffff
adc ecx, 0xffffffff
add edx, dword [ebp - 0x30]
adc ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jb 0x483ebd
ja 0x483d0b
cmp dword [ebp - 0x30], edx
jbe 0x483ebd
or esi, 0xffffffff
or edi, 0xffffffff
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x483b25
mov eax, esi
mov ecx, dword [ebp - 0x54]
sub eax, dword [ebp - 0x30]
mov edx, edi
sbb edx, dword [ebp - 0x2c]
add dword [ecx + 0x30], eax
adc dword [ecx + 0x34], edx
test dword [ebp - 0x24], 0x100
je 0x483b32
test byte [ebx + 0x14], 1
jne 0x483eee
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x40], esi
mov edx, eax
mov dword [ebp - 0x48], eax
sar edx, 0x1f
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x44], edx
jmp 0x483b40
mov dword [ebp - 0x50], 1
jmp 0x483919
mov eax, dword [ebp + 8]
mov dword [edx + 0x10], 0
mov dword [eax + 0x64], edx
jmp 0x483a6d
mov cl, byte [ebp - 0x8c]
mov eax, 1
shl eax, cl
mov edx, eax
mov ecx, eax
sar ecx, 0x1f
add edx, 0xffffffff
adc ecx, 0xffffffff
add edx, dword [ebp - 0x60]
adc ecx, dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], ecx
jb 0x483e60
ja 0x483dc4
cmp dword [ebp - 0x60], edx
jbe 0x483e60
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x2c], 0xffffffff
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x30]
xor eax, edx
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x2c]
xor edx, ecx
or eax, edx
mov edx, dword [ebp - 0x2c]
setne al
and eax, 0xff
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x60]
sbb edx, dword [ebp - 0x5c]
add eax, esi
adc edx, edi
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], edx
jmp 0x483c06
push eax
push 0
push 0x30
mov eax, dword [ebp + 8]
push eax
call fcn.00434500
add esp, 0x10
mov esi, eax
mov dword [ebx + 0xac], eax
test eax, eax
jne 0x483c79
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
push eax
push 0
push 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.00434500
mov dword [esi + 0x2c], eax
add esp, 0x10
mov eax, dword [ebx + 0xac]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
jne 0x483c84
jmp 0x483e2b
dec eax
mov dword [ebp - 0xa0], eax
mov edx, eax
sar edx, 0x1f
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], edx
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x88], eax
adc edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa0]
xor eax, 0xffffffff
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x84], edx
and ecx, eax
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x30], ecx
xor edx, 0xffffffff
mov ecx, dword [ebp - 0x84]
and ecx, edx
mov dword [ebp - 0x2c], ecx
jmp 0x483dd2
dec eax
mov esi, dword [ebp - 0x30]
mov edx, eax
mov edi, dword [ebp - 0x2c]
sar edx, 0x1f
add esi, eax
adc edi, edx
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], edi
xor eax, 0xffffffff
xor edx, 0xffffffff
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x74]
and esi, eax
and edi, edx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], edi
jmp 0x483d1f
mov eax, dword [ebp - 0x50]
mov edx, eax
mov dword [ebp - 0x48], eax
sar edx, 0x1f
mov eax, dword [ebx + 0x20]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], edx
mov edi, dword [ebp - 0x44]
mov edx, dword [ebx + 0x24]
sbb edx, dword [ebp - 0x3c]
push edi
mov esi, dword [ebp - 0x48]
push esi
push edx
push eax
call fcn.004e7900
mov esi, eax
add esp, 0x10
add esi, dword [ebp - 0x40]
mov edi, edx
adc edi, dword [ebp - 0x3c]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], edi
jmp 0x483b40
dec eax
mov dword [ebp - 0xb0], eax
mov edx, eax
sar edx, 0x1f
mov eax, dword [ebp - 0xb0]
add eax, esi
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x80], eax
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x80]
adc edx, edi
xor eax, 0xffffffff
mov dword [ebp - 0x7c], edx
and ecx, eax
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x68], ecx
xor edx, 0xffffffff
mov ecx, dword [ebp - 0x7c]
and ecx, edx
mov dword [ebp - 0x64], ecx
jmp 0x483bc7
mov ecx, dword [ebp - 0x58]
test ecx, ecx
jne 0x484022
mov ecx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x2c]
add ecx, 3
adc ebx, 0
cmp dword [ebp - 0x2c], ebx
jb 0x483ff1
ja 0x483fa1
cmp dword [ebp - 0x30], ecx
jbe 0x483ff1
or edx, 0xffffffff
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0xa8]
mov dword [eax + 0x20], edx
mov eax, 1
or byte [ebx + 0x2b], 0x40
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
sub esp, 0xc
push 0x13
call fcn.00430870
add esp, 0xc
mov ecx, dword [ebp - 0xa4]
push ecx
mov edx, dword [ebp + 8]
push edx
push str._B:_too_many_sections___d_
call dword [0x4ee9a0]
xor eax, eax
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, ecx
and eax, 0xfffffffc
mov edx, eax
jmp 0x483fa4
mov edi, eax
test eax, eax
je 0x484016
mov esi, dword [eax + 0xc4]
mov ebx, dword [eax + 0xc0]
mov eax, esi
or eax, ebx
jne 0x483907
mov dword [ebp - 0x50], 0x200
jmp 0x483919
mov byte [ebp - 0x11], 0
push 0
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
add eax, 0xffffffff
adc edx, 0xffffffff
push edx
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00469d90
add esp, 0x10
test eax, eax
jne 0x483e2b
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x11]
push 0
push 1
push eax
call fcn.00469b10
mov ecx, eax
add esp, 0x10
xor ecx, 1
or ecx, edx
jne 0x483e2b
jmp 0x483f89
mov eax, 4
xor edx, edx
jmp 0x4839c9
sub esp, 0xc
push 0x13
call fcn.00430870
add esp, 0xc
push ebx
mov edi, dword [ebp + 8]
push edi
push str._B:_page_size_is_too_large__0x_x_
call dword [0x4ee9a0]
xor eax, eax
add esp, 0x10
jmp 0x483e2d