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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ea5da
mov eax, dword fs:[0]
push eax
sub esp, 0xc0
mov eax, dword [0x51a744]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x74], edi
mov ebx, dword [ebp + 8]
lea esi, [edi + 0x1c]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x78], ebx
mov eax, dword [ebx + 0x10]
cmp esi, eax
je 0x49cc36
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.00419190
cmp dword [esi + 0x14], 0x10
mov eax, dword [edi + 4]
jb 0x49cc41
mov esi, dword [esi]
mov dword [ebp - 0x4c], esi
lea esi, [eax + 0xbc]
lea eax, [ebp - 0x4c]
mov ecx, esi
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00491ae0
mov eax, dword [ebp - 0x50]
cmp eax, dword [esi]
je 0x49cc79
mov esi, dword [eax + 0xc]
test esi, esi
je 0x49cc79
push ebx
push esi
call fcn.004a3a30
add esp, 8
test al, al
jne 0x49de91
mov esi, dword [edi + 4]
mov eax, 0x2aaaaaab
mov dword [ebp - 0x54], 0
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x49cd3c
mov eax, dword [ebx + 0x10]
mov esi, dword [esi]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x50], edx
lea ebx, [ebx]
cmp dword [eax + 0x14], 0x10
jb 0x49ccb8
mov eax, dword [eax]
cmp dword [esi + 0x14], 0x10
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x5c], eax
jb 0x49cccb
mov eax, dword [esi]
mov dword [ebp - 0x60], eax
jmp 0x49ccce
mov dword [ebp - 0x60], esi
cmp ecx, edx
mov eax, edx
cmovb eax, ecx
push eax
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
call fcn.00417d30
add esp, 0xc
test eax, eax
jne 0x49cd00
mov ecx, dword [esi + 0x10]
mov edx, dword [ebp - 0x50]
cmp ecx, edx
jae 0x49ccf7
or eax, 0xffffffff
jmp 0x49ccfe
xor eax, eax
cmp ecx, edx
setne al
test eax, eax
sete al
test al, al
jne 0x49cee8
mov eax, dword [edi + 4]
add esi, 0x18
inc dword [ebp - 0x54]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x50]
cmp dword [ebp - 0x54], eax
mov eax, dword [ebx + 0x10]
jb 0x49ccb0
mov esi, dword [edi + 4]
mov eax, dword [edi]
cmp dword [eax + 4], 0
je 0x49ce09
push dword [ebx + 0x10]
mov ecx, esi
call fcn.004ac150
xor eax, eax
mov dword [ebp - 0x5c], eax
cmp dword [ebx + 0x1c], eax
jle 0x49cdd6
lea esp, [esp]
mov esi, dword [edi + 4]
lea ecx, [eax*4]
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x50], ecx
mov eax, dword [ecx + eax]
cmp dword [eax + 0x14], 0x10
jb 0x49cd7b
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
lea ecx, [esi + 0xbc]
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00491ae0
mov eax, dword [ebp - 0x54]
cmp eax, dword [esi + 0xbc]
je 0x49cda2
cmp dword [eax + 0xc], 0
jne 0x49cdca
mov eax, dword [edi]
mov esi, dword [ebp - 0x50]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x49cdbd
mov eax, dword [ebx + 0x18]
push dword [esi + eax]
call fcn.004a40e0
test eax, eax
jne 0x49cdca
mov eax, dword [ebx + 0x18]
mov ecx, dword [edi]
push dword [esi + eax]
call fcn.004a8b60
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp eax, dword [ebx + 0x1c]
jl 0x49cd60
mov eax, dword [edi + 4]
mov dword [ebp - 0x4c], eax
mov esi, dword [eax + 4]
cmp dword [esi - 4], 0x10
jb 0x49cdf3
push dword [esi - 0x18]
call fcn.0045a55b
mov eax, dword [ebp - 0x4c]
add esp, 4
mov dword [esi - 4], 0xf
mov dword [esi - 8], 0
mov byte [esi - 0x18], 0
add dword [eax + 4], 0xffffffe8
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 0x70]
sub eax, dword [ecx + 0x6c]
sar eax, 2
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx + 0x7c]
sub eax, dword [ecx + 0x78]
sar eax, 2
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 0x88]
sub eax, dword [ecx + 0x84]
sar eax, 2
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 0x94]
sub eax, dword [ecx + 0x90]
sar eax, 2
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 0xf4]
sub eax, dword [ecx + 0xf0]
sar eax, 2
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x100]
sub eax, dword [ecx + 0xfc]
sar eax, 2
mov dword [ebp - 0x18], eax
mov eax, dword [ecx + 0x10c]
sub eax, dword [ecx + 0x108]
add ecx, 0xe4
sar eax, 3
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004abf60
mov esi, dword [edi + 4]
push 0x54
call fcn.0045a79c
mov edx, dword [esi + 0x94]
lea ecx, [ebp - 0x70]
add esi, 0x90
mov dword [ebp - 0x70], eax
add esp, 4
cmp ecx, edx
jae 0x49cef8
mov ecx, dword [esi]
lea ebx, [ebp - 0x70]
cmp ecx, ebx
mov ebx, dword [ebp - 0x78]
ja 0x49cef8
lea eax, [ebp - 0x70]
sub eax, ecx
sar eax, 2
mov dword [ebp - 0x4c], eax
cmp edx, dword [esi + 8]
jne 0x49ced5
push 1
mov ecx, esi
call fcn.004aabe0
mov ecx, dword [ebp - 0x4c]
mov eax, dword [esi]
lea eax, [eax + ecx*4]
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x49cf12
mov eax, dword [eax]
jmp 0x49cf10
push dword [ebp - 0x54]
mov ecx, edi
push ebx
call fcn.0049ada0
jmp 0x49deef
cmp edx, dword [esi + 8]
jne 0x49cf09
push 1
mov ecx, esi
call fcn.004aabe0
mov eax, dword [ebp - 0x70]
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x49cf12
mov dword [ecx], eax
add dword [esi + 4], 4
mov esi, dword [ebp - 0x70]
mov dword [edi + 0x34], esi
mov byte [esi + 0x40], 0
mov eax, dword [ebx + 8]
shr eax, 0xa
test al, 1
je 0x49d01d
mov eax, dword [edi + 4]
push 0x20
mov dword [ebp - 0x4c], eax
call fcn.0045a79c
add esp, 4
mov dword [ebp - 0x68], eax
mov dword [ebp - 4], 6
test eax, eax
je 0x49cf5a
mov ecx, eax
call fcn.004bde10
mov edx, eax
mov dword [ebp - 0x54], eax
jmp 0x49cf5f
xor edx, edx
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x4c]
lea ebx, [ebp - 0x90]
add ecx, 0x78
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x50], ecx
mov eax, dword [ecx + 4]
cmp ebx, eax
mov ebx, dword [ebp - 0x78]
jae 0x49cfdc
lea esi, [ebp - 0x90]
cmp dword [ecx], esi
mov esi, dword [ebp - 0x70]
ja 0x49cfdc
lea eax, [ebp - 0x90]
sub eax, dword [ecx]
sar eax, 2
mov dword [ebp - 0x4c], eax
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
jne 0x49cfb5
push 1
call fcn.004aabe0
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x4c]
mov eax, dword [ecx]
lea eax, [eax + edi*4]
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x4c], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x50], eax
test eax, eax
je 0x49cff7
mov eax, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [esi], eax
mov esi, dword [ebp - 0x70]
jmp 0x49cff7
cmp eax, dword [ecx + 8]
jne 0x49cfee
push 1
call fcn.004aabe0
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ecx + 4]
test eax, eax
je 0x49cff7
mov dword [eax], edx
add dword [ecx + 4], 4
mov eax, dword [ebx + 0x84]
test eax, eax
jne 0x49d010
mov eax, dword [0x523080]
mov eax, dword [eax + 0x84]
push eax
mov ecx, edx
call fcn.004c14b0
mov eax, dword [ebp - 0x54]
jmp 0x49d022
call fcn.004ccc60
mov dword [esi + 0x50], eax
mov eax, dword [edi + 4]
push 0xc4
mov dword [ebp - 0x4c], eax
call fcn.0045a79c
add esp, 4
mov dword [ebp - 0x68], eax
mov dword [ebp - 4], 7
test eax, eax
je 0x49d04f
mov ecx, eax
call fcn.004992a0
jmp 0x49d051
xor eax, eax
mov edx, dword [ebp - 0x4c]
add edx, 0x84
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x5c], edx
mov ecx, dword [edx + 4]
cmp eax, ecx
jae 0x49d211
mov eax, dword [edx]
lea ebx, [ebp - 0x84]
cmp eax, ebx
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x78]
ja 0x49d211
lea eax, [ebp - 0x84]
mov dword [ebp - 0x60], 0x3fffffff
sub eax, dword [edx]
sar eax, 2
mov dword [ebp - 0x58], eax
mov eax, dword [edx + 8]
cmp ecx, eax
jne 0x49d10a
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x49d10a
sub ecx, dword [edx]
mov eax, dword [ebp - 0x60]
sar ecx, 2
sub eax, ecx
cmp eax, 1
jae 0x49d0d3
push str.vector_T__too_long
call fcn.0044092c
inc ecx
mov dword [ebp - 0x64], ecx
mov ecx, dword [edx + 8]
sub ecx, dword [ebp - 0x4c]
sar ecx, 2
mov eax, ecx
shr eax, 1
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x50]
cmp eax, ecx
jae 0x49d0f5
xor ecx, ecx
jmp 0x49d0f8
add ecx, dword [ebp - 0x50]
cmp ecx, dword [ebp - 0x64]
cmovb ecx, dword [ebp - 0x64]
push ecx
mov ecx, edx
call fcn.004aa780
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
mov eax, dword [edx]
lea eax, [eax + ecx*4]
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x49d11d
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x54]
add dword [edx + 4], 4
mov eax, dword [edi + 0x34]
mov dword [edi + 0x38], ecx
mov dword [eax + 0x4c], ecx
test byte [ebx + 8], 1
jne 0x49d1bf
push 0
push 0x502163
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.00419500
push 0x28
push str.Missing_field:_FileDescriptorProto.name.
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 8
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x48], 0
call fcn.00419500
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 9
push eax
push 9
push ebx
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.0049a2b0
cmp dword [ebp - 0x34], 0x10
jb 0x49d1a7
push dword [ebp - 0x48]
call fcn.0045a55b
add esp, 4
cmp dword [ebp - 0x14], 0x10
mov dword [ebp - 4], 0xffffffff
jb 0x49d1bf
push dword [ebp - 0x28]
call fcn.0045a55b
add esp, 4
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x58], eax
mov eax, dword [edi + 4]
push 0x18
mov dword [ebp - 0x64], eax
call fcn.0045a79c
add esp, 4
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 4], 0xa
test eax, eax
je 0x49d293
push 0xffffffffffffffff
push 0
push dword [ebp - 0x58]
mov dword [eax + 0x14], 0xf
mov ecx, eax
mov dword [eax + 0x10], 0
mov byte [eax], 0
call fcn.00419190
mov eax, dword [ebp - 0x54]
jmp 0x49d298
mov eax, dword [edx + 8]
mov dword [ebp - 0x60], 0x3fffffff
cmp ecx, eax
jne 0x49d27e
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x49d27e
mov eax, dword [edx]
sub ecx, eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x60]
sar ecx, 2
sub eax, ecx
cmp eax, 1
jae 0x49d247
push str.vector_T__too_long
call fcn.0044092c
inc ecx
mov dword [ebp - 0x64], ecx
mov ecx, dword [edx + 8]
sub ecx, dword [ebp - 0x58]
sar ecx, 2
mov eax, ecx
shr eax, 1
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x50]
cmp eax, ecx
jae 0x49d269
xor ecx, ecx
jmp 0x49d26c
add ecx, dword [ebp - 0x50]
cmp ecx, dword [ebp - 0x64]
cmovb ecx, dword [ebp - 0x64]
push ecx
mov ecx, edx
call fcn.004aa780
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 4]
test eax, eax
je 0x49d11d
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
jmp 0x49d120
xor eax, eax
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x64]
add edx, 0x6c
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x5c], edx
mov ecx, dword [edx + 4]
cmp eax, ecx
jae 0x49d3c1
mov eax, dword [edx]
lea esi, [ebp - 0x9c]
cmp eax, esi
mov dword [ebp - 0x58], eax
mov esi, dword [ebp - 0x70]
ja 0x49d3c1
lea eax, [ebp - 0x9c]
sub eax, dword [edx]
sar eax, 2
mov dword [ebp - 0x4c], eax
mov eax, dword [edx + 8]
cmp ecx, eax
jne 0x49d346
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x49d346
sub ecx, dword [edx]
mov eax, dword [ebp - 0x60]
sar ecx, 2
sub eax, ecx
cmp eax, 1
jae 0x49d30d
push str.vector_T__too_long
call fcn.0044092c
lea eax, [ecx + 1]
mov dword [ebp - 0x64], eax
mov eax, dword [edx + 8]
sub eax, dword [ebp - 0x58]
sar eax, 2
mov ecx, eax
shr ecx, 1
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x50]
cmp ecx, eax
jae 0x49d331
xor eax, eax
jmp 0x49d334
add eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x64]
mov ecx, edx
cmovb eax, dword [ebp - 0x64]
push eax
call fcn.004aa780
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [edx]
lea eax, [eax + ecx*4]
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x49d359
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 0x54]
add dword [edx + 4], 4
mov dword [esi], eax
mov eax, dword [ebx + 8]
shr eax, 1
test al, 1
je 0x49d4f1
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x58], eax
mov eax, dword [edi + 4]
push 0x18
mov dword [ebp - 0x64], eax
call fcn.0045a79c
add esp, 4
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 4], 0xb
test eax, eax
je 0x49d43e
push 0xffffffffffffffff
push 0
push dword [ebp - 0x58]
mov dword [eax + 0x14], 0xf
mov ecx, eax
mov dword [eax + 0x10], 0
mov byte [eax], 0
call fcn.00419190
mov edx, dword [ebp - 0x54]
jmp 0x49d443
mov eax, dword [edx + 8]
cmp ecx, eax
jne 0x49d429
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x49d429
mov eax, dword [edx]
sub ecx, eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x60]
sar ecx, 2
sub eax, ecx
cmp eax, 1
jae 0x49d3f0
push str.vector_T__too_long
call fcn.0044092c
lea eax, [ecx + 1]
mov dword [ebp - 0x64], eax
mov eax, dword [edx + 8]
sub eax, dword [ebp - 0x58]
sar eax, 2
mov ecx, eax
shr ecx, 1
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x50]
cmp ecx, eax
jae 0x49d414
xor eax, eax
jmp 0x49d417
add eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x64]
mov ecx, edx
cmovb eax, dword [ebp - 0x64]
push eax
call fcn.004aa780
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x49d359
mov eax, dword [ebp - 0x54]
mov dword [ecx], eax
jmp 0x49d35c
xor edx, edx
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x64]
lea esi, [ebp - 0x94]
add ecx, 0x6c
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x50], ecx
mov eax, dword [ecx + 4]
cmp esi, eax
mov esi, dword [ebp - 0x70]
jae 0x49d4ca
lea edi, [ebp - 0x94]
cmp dword [ecx], edi
mov edi, dword [ebp - 0x74]
ja 0x49d4ca
lea eax, [ebp - 0x94]
sub eax, dword [ecx]
sar eax, 2
mov dword [ebp - 0x58], eax
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
jne 0x49d499
push 1
call fcn.004aabe0
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x58]
mov eax, dword [ecx]
lea eax, [eax + ebx*4]
mov ebx, dword [ebp - 0x78]
mov dword [ebp - 0x58], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x64], eax
test eax, eax
je 0x49d4e5
mov eax, dword [ebp - 0x58]
mov edi, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [edi], eax
add dword [ecx + 4], 4
mov edi, dword [ebp - 0x74]
mov dword [esi + 4], edx
jmp 0x49d615
cmp eax, dword [ecx + 8]
jne 0x49d4dc
push 1
call fcn.004aabe0
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ecx + 4]
test eax, eax
je 0x49d4e5
mov dword [eax], edx
add dword [ecx + 4], 4
mov dword [esi + 4], edx
jmp 0x49d615
push 0
push 0x502163
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.00419500
mov eax, dword [edi + 4]
push 0x18
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x58], eax
call fcn.0045a79c
add esp, 4
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x49d55c
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x28]
mov dword [eax + 0x14], 0xf
push ecx
mov dword [eax + 0x10], 0
mov ecx, eax
mov byte [eax], 0
call fcn.00419190
mov edx, dword [ebp - 0x54]
jmp 0x49d561
xor edx, edx
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x58]
lea esi, [ebp - 0x8c]
add ecx, 0x6c
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x50], ecx
mov eax, dword [ecx + 4]
cmp esi, eax
mov esi, dword [ebp - 0x70]
jae 0x49d5db
lea edi, [ebp - 0x8c]
cmp dword [ecx], edi
mov edi, dword [ebp - 0x74]
ja 0x49d5db
lea eax, [ebp - 0x8c]
sub eax, dword [ecx]
sar eax, 2
mov dword [ebp - 0x58], eax
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
jne 0x49d5b4
push 1
call fcn.004aabe0
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x58]
mov eax, dword [ecx]
lea eax, [eax + ebx*4]
mov ebx, dword [ebp - 0x78]
mov dword [ebp - 0x58], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x64], eax
test eax, eax
je 0x49d5f6
mov eax, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x78]
jmp 0x49d5f6
cmp eax, dword [ecx + 8]
jne 0x49d5ed
push 1
call fcn.004aabe0
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ecx + 4]
test eax, eax
je 0x49d5f6
mov dword [eax], edx
add dword [ecx + 4], 4
cmp dword [ebp - 0x14], 0x10
mov dword [esi + 4], edx
mov dword [ebp - 4], 0xffffffff
jb 0x49d615
push dword [ebp - 0x28]
call fcn.0045a55b
add esp, 4
mov eax, dword [edi]
mov dword [esi + 8], eax
mov eax, dword [esi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x58], ecx
cmp dword [eax + 0x14], 0x10
jb 0x49d62a
mov eax, dword [eax]
mov dword [ebp - 0x6c], eax
add ecx, 0xbc
movzx eax, byte [0x522f84]
push eax
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x68], esi
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.00496f00
cmp byte [ebp - 0xa8], 0
je 0x49de95
mov eax, dword [esi]
mov dword [ebp - 0x5c], eax
cmp dword [eax + 0x14], 0x10
jb 0x49d66b
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x58]
lea ebx, [ebp - 0x88]
add ecx, 0xfc
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x50], ecx
mov edx, dword [ecx + 4]
cmp ebx, edx
mov ebx, dword [ebp - 0x78]
jae 0x49d6ca
lea edi, [ebp - 0x88]
cmp dword [ecx], edi
mov edi, dword [ebp - 0x74]
ja 0x49d6ca
lea eax, [ebp - 0x88]
sub eax, dword [ecx]
sar eax, 2
mov dword [ebp - 0x58], eax
cmp edx, dword [ecx + 8]
jne 0x49d6b7
push 1
call fcn.004aabe0
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x58]
mov eax, dword [ecx]
lea eax, [eax + edx*4]
mov edx, dword [ecx + 4]
test edx, edx
je 0x49d6e5
mov eax, dword [eax]
jmp 0x49d6e3
cmp edx, dword [ecx + 8]
jne 0x49d6dc
push 1
call fcn.004aabe0
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
test edx, edx
je 0x49d6e5
mov dword [edx], eax
add dword [ecx + 4], 4
mov eax, dword [esi + 4]
cmp dword [eax + 0x10], 0
je 0x49d6fc
push esi
push ebx
push eax
mov ecx, edi
call fcn.0049ab40
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
call fcn.004a9d60
mov dword [ebp - 0xa4], eax
mov eax, dword [ebx + 0x1c]
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x1c]
mov ecx, dword [edi + 4]
shl eax, 2
mov dword [ebp - 4], 0xf
mov dword [ebp - 0x58], ecx
test eax, eax
je 0x49d75f
push eax
call fcn.0045a79c
mov ecx, dword [ebp - 0x58]
add esp, 4
mov dword [ebp - 0x50], eax
add ecx, 0x90
lea eax, [ebp - 0x50]
push eax
call fcn.004abe70
mov eax, dword [ebp - 0x50]
mov dword [esi + 0x10], eax
lea eax, [edi + 0x44]
mov ecx, eax
mov dword [ebp - 0x68], eax
call fcn.004dba60
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
call fcn.004a9cd0
mov dword [ebp - 0x80], eax
cmp dword [ebx + 0x38], 0
mov byte [ebp - 4], 0x10
jle 0x49d7c3
xor edi, edi
mov eax, dword [ebx + 0x34]
lea ecx, [ebp - 0x80]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x58], eax
movzx eax, byte [0x522f84]
push eax
lea eax, [ebp - 0x58]
push eax
push 0
lea eax, [ebp - 0xc4]
push eax
call fcn.004ace50
inc edi
cmp edi, dword [ebx + 0x38]
jl 0x49d794
mov edi, dword [ebp - 0x74]
xor eax, eax
mov dword [ebp - 0x60], eax
cmp dword [ebx + 0x1c], eax
jle 0x49d9bf
lea esi, [eax*4]
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x5c], esi
mov ecx, dword [esi + eax]
movzx eax, byte [0x522f84]
push eax
push ecx
push 0
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0xa4]
call fcn.00498530
cmp byte [ebp - 0xc0], 0
jne 0x49d812
push dword [ebp - 0x60]
mov ecx, edi
push ebx
call fcn.0049b3a0
mov eax, dword [ebx + 0x18]
mov eax, dword [esi + eax]
mov esi, dword [edi + 4]
cmp dword [eax + 0x14], 0x10
jb 0x49d823
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
lea ecx, [esi + 0xbc]
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00491ae0
mov eax, dword [ebp - 0x64]
cmp eax, dword [esi + 0xbc]
jne 0x49d84d
mov dword [ebp - 0x54], 0
jmp 0x49d85e
mov esi, dword [eax + 0xc]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x4c], esi
test esi, esi
jne 0x49d907
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x49d885
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 0x5c]
push dword [edx + eax]
call fcn.004a40e0
mov ecx, eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x4c], ecx
test ecx, ecx
jne 0x49d907
mov eax, dword [edi]
cmp byte [eax + 0x15], 0
jne 0x49d8ef
cmp byte [eax + 0x16], 0
jne 0x49d8df
mov esi, dword [ebp - 0x80]
mov edx, esi
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x49d8cf
mov ecx, dword [ebp - 0x60]
cmp dword [eax + 0x10], ecx
jge 0x49d8ae
mov eax, dword [eax + 8]
jmp 0x49d8b2
mov edx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x49d8a4
cmp edx, esi
je 0x49d8cf
cmp ecx, dword [edx + 0x10]
jl 0x49d8cf
mov dword [ebp - 0xbc], edx
lea eax, [ebp - 0xbc]
jmp 0x49d8db
mov dword [ebp - 0xb8], esi
lea eax, [ebp - 0xb8]
cmp dword [eax], esi
jne 0x49d8ef
push dword [ebp - 0x60]
mov ecx, edi
push ebx
call fcn.0049a5b0
jmp 0x49d9a0
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0x5c]
push dword [ecx + eax]
mov ecx, edi
call fcn.004a6b50
mov dword [ebp - 0x54], eax
jmp 0x49d9a0
mov eax, dword [edi]
mov dword [ebp - 0x50], eax
cmp byte [eax + 0x14], 0
je 0x49d9a0
mov ecx, dword [ebx + 0x10]
mov edi, dword [eax + 0x18]
mov dword [ebp - 0x58], ecx
push ecx
lea ecx, [eax + 0x18]
call fcn.004bacf0
mov esi, eax
mov eax, dword [ebp - 0x50]
cmp esi, dword [eax + 0x18]
je 0x49d964
cmp dword [esi + 0x24], 0x10
lea eax, [esi + 0x10]
mov ecx, dword [eax + 0x10]
jb 0x49d940
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0x58]
push eax
push dword [ecx + 0x10]
push 0
call fcn.00417da0
test eax, eax
js 0x49d961
mov dword [ebp - 0xb0], esi
lea eax, [ebp - 0xb0]
jmp 0x49d973
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xa8]
cmp dword [eax], edi
je 0x49d99d
mov eax, dword [ebp - 0x54]
cmp dword [eax + 0x14], 0
jne 0x49d99d
movzx eax, byte [0x522f84]
mov ecx, dword [ebp - 0x68]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
lea eax, [ebp - 0xcc]
push eax
call fcn.004982d0
mov edi, dword [ebp - 0x74]
mov esi, dword [ebp - 0x70]
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x54]
mov eax, dword [esi + 0x10]
mov dword [edx + eax], ecx
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp eax, dword [ebx + 0x1c]
jl 0x49d7d1
mov eax, dword [ebx + 0x2c]
xor edx, edx
mov ecx, dword [edi + 4]
shl eax, 2
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x68], ecx
test eax, eax
je 0x49d9f7
push eax
call fcn.0045a79c
mov ecx, dword [ebp - 0x68]
add esp, 4
mov dword [ebp - 0x4c], eax
add ecx, 0x90
lea eax, [ebp - 0x4c]
push eax
call fcn.004abe70
mov eax, dword [ebp - 0x4c]
xor edx, edx
xor ecx, ecx
mov dword [esi + 0x18], eax
mov dword [ebp - 0x4c], ecx
cmp dword [ebx + 0x2c], ecx
jle 0x49da77
mov eax, dword [ebx + 0x28]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
js 0x49da56
cmp ecx, dword [ebx + 0x1c]
jge 0x49da56
mov eax, dword [esi + 0x18]
mov dword [eax + edx*4], ecx
inc edx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x5c], edx
mov eax, dword [eax + ecx*4]
lea ecx, [edi + 0x44]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0xb4]
push eax
call fcn.004aa310
push dword [ebp - 0xb0]
lea eax, [ebp - 0xa8]
push dword [ebp - 0xb4]
lea ecx, [edi + 0x44]
push eax
call fcn.004dbab0
jmp 0x49da68
push str.Invalid_public_dependency_index.
push 9
push ebx
push dword [ebx + 0x10]
mov ecx, edi
call fcn.0049a3f0
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x5c]
inc ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, dword [ebx + 0x2c]
jl 0x49da04
mov eax, dword [ebp - 0x5c]
lea ecx, [edi + 0x3c]
mov dword [esi + 0x14], eax
call fcn.004dba60
cmp dword [esi + 0xc], 0
jle 0x49daa6
xor ebx, ebx
lea ecx, [ecx]
mov eax, dword [esi + 0x10]
mov ecx, edi
push dword [eax + ebx*4]
call fcn.004a6c90
inc ebx
cmp ebx, dword [esi + 0xc]
jl 0x49da90
mov ebx, dword [ebp - 0x78]
mov eax, dword [ebx + 0x38]
mov ecx, dword [edi + 4]
shl eax, 2
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x68], ecx
test eax, eax
je 0x49dade
push eax
call fcn.0045a79c
mov ecx, dword [ebp - 0x68]
add esp, 4
mov dword [ebp - 0x4c], eax
add ecx, 0x90
lea eax, [ebp - 0x4c]
push eax
call fcn.004abe70
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [esi + 0x20], eax
mov dword [ebp - 0x4c], ecx
cmp dword [ebx + 0x38], ecx
jle 0x49db2e
jmp 0x49daf0
mov eax, dword [ebx + 0x34]
mov edx, dword [eax + ecx*4]
test edx, edx
js 0x49db10
cmp edx, dword [ebx + 0x1c]
jge 0x49db10
mov edi, dword [ebp - 0x54]
mov eax, dword [esi + 0x20]
inc dword [ebp - 0x54]
mov dword [eax + edi*4], edx
mov edi, dword [ebp - 0x74]
jmp 0x49db25
push str.Invalid_weak_dependency_index.
push 9
push ebx
push dword [ebx + 0x10]
mov ecx, edi
call fcn.0049a3f0
mov ecx, dword [ebp - 0x4c]
inc ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, dword [ebx + 0x38]
jl 0x49daf0
mov eax, dword [ebp - 0x54]
mov dword [esi + 0x1c], eax
mov eax, dword [ebx + 0x44]
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x44]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x68], ecx
lea eax, [eax + eax*8]
shl eax, 3
test eax, eax
je 0x49db6e
push eax
call fcn.0045a79c
mov ecx, dword [ebp - 0x68]
add esp, 4
mov dword [ebp - 0x4c], eax
add ecx, 0x90
lea eax, [ebp - 0x4c]
push eax
call fcn.004abe70
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [esi + 0x28], eax
mov dword [ebp - 0x4c], ecx
cmp dword [ebx + 0x44], ecx
jle 0x49dbab
xor edx, edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + 0x28]
add eax, edx
push eax
push 0
push ecx
mov ecx, edi
call fcn.0049e000
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
inc ecx
add edx, 0x48
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x50], edx
cmp ecx, dword [ebx + 0x44]
jl 0x49db80
mov eax, dword [ebx + 0x54]
mov dword [esi + 0x2c], eax
mov eax, dword [ebx + 0x54]
mov ecx, dword [edi + 4]
shl eax, 5
mov dword [ebp - 0x68], ecx
test eax, eax
je 0x49dbe2
push eax
call fcn.0045a79c
mov ecx, dword [ebp - 0x68]
add esp, 4
mov dword [ebp - 0x4c], eax
add ecx, 0x90
lea eax, [ebp - 0x4c]
push eax
call fcn.004abe70
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [esi + 0x30], eax
mov dword [ebp - 0x4c], ecx
cmp dword [ebx + 0x54], ecx
jle 0x49dc1f
xor edx, edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebx + 0x50]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + 0x30]
add eax, edx
push eax
push 0
push ecx
mov ecx, edi
call fcn.0049b740
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
inc ecx
add edx, 0x20
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x50], edx
cmp ecx, dword [ebx + 0x54]
jl 0x49dbf4
mov eax, dword [ebx + 0x64]
mov dword [esi + 0x34], eax
mov eax, dword [ebx + 0x64]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x68], ecx
lea eax, [eax + eax*2]
shl eax, 3
test eax, eax
je 0x49dc59
push eax
call fcn.0045a79c
mov ecx, dword [ebp - 0x68]
add esp, 4
mov dword [ebp - 0x4c], eax
add ecx, 0x90
lea eax, [ebp - 0x4c]
push eax
call fcn.004abe70
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [esi + 0x38], eax
mov dword [ebp - 0x4c], ecx
cmp dword [ebx + 0x64], ecx
jle 0x49dc9b
xor edx, edx
mov dword [ebp - 0x50], edx
jmp 0x49dc70
mov eax, dword [ebx + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + 0x38]
add eax, edx
push eax
push 0
push ecx
mov ecx, edi
call fcn.0049f240
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
inc ecx
add edx, 0x18
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x50], edx
cmp ecx, dword [ebx + 0x64]
jl 0x49dc70
mov eax, dword [ebx + 0x74]
mov dword [esi + 0x3c], eax
mov eax, dword [ebx + 0x74]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x68], ecx
lea eax, [eax + eax*4]
shl eax, 4
test eax, eax
je 0x49dcd5
push eax
call fcn.0045a79c
mov ecx, dword [ebp - 0x68]
add esp, 4
mov dword [ebp - 0x4c], eax
add ecx, 0x90
lea eax, [ebp - 0x4c]
push eax
call fcn.004abe70
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [esi + 0x44], eax
mov dword [ebp - 0x4c], ecx
cmp dword [ebx + 0x74], ecx
jle 0x49dd14
xor edx, edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebx + 0x70]
push 1
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + 0x44]
add eax, edx
push eax
push 0
push ecx
mov ecx, edi
call fcn.0049be80
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
inc ecx
add edx, 0x50
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x50], edx
cmp ecx, dword [ebx + 0x74]
jl 0x49dce7
mov eax, dword [ebx + 8]
shr eax, 9
test al, 1
jne 0x49dd27
mov dword [esi + 0x48], 0
jmp 0x49dd7d
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x4c], eax
test eax, eax
jne 0x49dd42
mov eax, dword [0x523080]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x4c], eax
push str..dummy
push dword [esi + 4]
lea eax, [ebp - 0x28]
push eax
call fcn.004953d0
add esp, 0xc
push esi
push dword [ebp - 0x4c]
mov ecx, edi
mov byte [ebp - 4], 0x27
push dword [esi]
push eax
call fcn.00495cf0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x10
jb 0x49dd7d
push dword [ebp - 0x28]
call fcn.0045a55b
add esp, 4
push ebx
push esi
mov ecx, edi
call fcn.004a1180
cmp byte [edi + 0x18], 0
jne 0x49ddee
push edi
lea ecx, [ebp - 0x30]
call fcn.00499370
mov esi, dword [edi + 0xc]
mov byte [ebp - 4], 0x28
cmp esi, dword [edi + 0x10]
je 0x49ddb2
push esi
lea ecx, [ebp - 0x30]
call fcn.004a4b60
add esi, 0x38
cmp esi, dword [edi + 0x10]
jne 0x49dda1
push dword [ebp - 0x68]
lea eax, [ebp - 0x95]
push eax
push dword [edi + 0x10]
push dword [edi + 0xc]
call fcn.004966a0
mov eax, dword [edi + 0xc]
lea ecx, [ebp - 0x24]
add esp, 0x10
mov dword [edi + 0x10], eax
mov byte [ebp - 4], 0x10
call fcn.004cecc0
cmp byte [edi + 0x18], 0
mov esi, dword [ebp - 0x70]
jne 0x49ddee
push ebx
push esi
mov ecx, edi
call fcn.004a91a0
cmp dword [edi + 0x48], 0
je 0x49ddfc
push esi
mov ecx, edi
call fcn.004a5c70
cmp byte [edi + 0x18], 0
mov ecx, dword [edi + 4]
je 0x49de0e
call fcn.004a7230
xor esi, esi
jmp 0x49de47
add dword [ecx + 0xe8], 0xffffffe4
mov eax, dword [ecx + 0xe4]
cmp eax, dword [ecx + 0xe8]
jne 0x49de47
mov eax, dword [ecx + 0xf0]
mov dword [ecx + 0xf4], eax
mov eax, dword [ecx + 0xfc]
mov dword [ecx + 0x100], eax
mov eax, dword [ecx + 0x108]
mov dword [ecx + 0x10c], eax
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x80]
push eax
push dword [eax]
lea eax, [ebp - 0x68]
push eax
call fcn.004dbab0
push dword [ebp - 0x80]
call fcn.0045a55b
mov ecx, dword [ebp - 0xa4]
lea eax, [ebp - 0x68]
add esp, 4
mov dword [ebp - 4], 0xffffffff
push ecx
push dword [ecx]
lea ecx, [ebp - 0xa4]
push eax
call fcn.004baeb0
push dword [ebp - 0xa4]
call fcn.0045a55b
add esp, 4
mov eax, esi
jmp 0x49def1
mov esi, dword [ebx + 0x10]
lea ecx, [ebp - 0x28]
push 0x2d
push str.A_file_with_this_name_is_already_in_the_pool.
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.00419500
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0xe
push eax
push 9
push ebx
push esi
mov ecx, edi
call fcn.0049a2b0
cmp dword [ebp - 0x14], 0x10
mov dword [ebp - 4], 0xffffffff
jb 0x49dee7
push dword [ebp - 0x28]
call fcn.0045a55b
add esp, 4
mov ecx, dword [edi + 4]
call fcn.004a7230
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045a560
mov esp, ebp
pop ebp
ret 4