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

Disassembly:
push 0xffffffffffffffff
push 0x4b2997
mov eax, dword fs:[0]
push eax
sub esp, 0x158
mov eax, dword [0x5116ec]
xor eax, esp
mov dword [esp + 0x150], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5116ec]
xor eax, esp
push eax
lea eax, [esp + 0x16c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x17c]
mov ebx, ecx
push 0xffffffffffffffff
mov dword [esp + 0x28], 0
mov eax, dword [ebp + 8]
push 0
lea esi, [ebx + 0x20]
push eax
mov ecx, esi
mov dword [esp + 0x28], ebx
call fcn.002f9870
cmp dword [esi + 0x14], 0x10
mov eax, dword [ebx + 4]
jb 0x3bb3b3
mov ecx, dword [esi]
mov dword [esp + 0x14], ecx
jmp 0x3bb3b7
mov dword [esp + 0x14], esi
lea esi, [eax + 0xd4]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
mov eax, esi
call fcn.003b2930
mov esi, dword [esi + 4]
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x3bb4d4
mov eax, dword [eax + 0xc]
mov dword [esp + 0x14], eax
test eax, eax
je 0x3bb4d4
lea eax, [esp + 0xa4]
call fcn.003e3be0
mov dword [esp + 0x174], 0
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, eax
call fcn.003b60d0
lea esi, [esp + 0x68]
mov ecx, ebp
call fcn.003d9da0
mov edi, eax
lea esi, [esp + 0x4c]
lea ecx, [esp + 0xa4]
mov byte [esp + 0x174], 1
call fcn.003d9da0
mov byte [esp + 0x174], 2
cmp dword [edi + 0x14], 0x10
mov ecx, dword [edi + 0x10]
jb 0x3bb447
mov edi, dword [edi]
mov edx, dword [eax + 0x10]
push ecx
push edi
push edx
push 0
mov ecx, eax
call fcn.002fbb10
test eax, eax
mov esi, 0x10
sete byte [esp + 0x2b]
mov byte [esp + 0x174], 1
cmp dword [esp + 0x60], esi
jb 0x3bb47d
mov eax, dword [esp + 0x4c]
push eax
call fcn.00438a36
add esp, 4
mov byte [esp + 0x174], 0
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], 0
mov byte [esp + 0x4c], 0
cmp dword [esp + 0x7c], esi
jb 0x3bb4ad
mov ecx, dword [esp + 0x68]
push ecx
call fcn.00438a36
add esp, 4
lea ecx, [esp + 0xa4]
mov dword [esp + 0x174], 0xffffffff
call fcn.003e3ca0
cmp byte [esp + 0x2b], 0
je 0x3bb4d4
mov eax, dword [esp + 0x14]
jmp 0x3bb6cc
mov edi, dword [ebx + 4]
mov ecx, dword [edi + 4]
sub ecx, dword [edi]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
xor esi, esi
add eax, edx
je 0x3bb59d
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x10]
mov ecx, dword [edi]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x20]
cmp dword [esp + 0x24], 0x10
jb 0x3bb528
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
jmp 0x3bb52b
mov edx, dword [ebp + 8]
mov edi, dword [eax + 0x10]
mov ecx, edi
cmp ecx, edi
jae 0x3bb534
mov ecx, dword [esp + 0x14]
cmp edi, ecx
jae 0x3bb53e
mov ecx, edi
cmp dword [eax + 0x14], 0x10
jb 0x3bb546
mov eax, dword [eax]
push ecx
push edx
push eax
call fcn.002fa9d0
add esp, 0xc
test eax, eax
jne 0x3bb56d
mov eax, dword [esp + 0x14]
cmp edi, eax
jae 0x3bb562
or eax, 0xffffffff
jmp 0x3bb56b
xor ecx, ecx
cmp edi, eax
setne cl
mov eax, ecx
test eax, eax
sete al
test al, al
jne 0x3bb5de
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
add dword [esp + 0x18], 0x1c
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
cmp esi, eax
jb 0x3bb512
mov eax, dword [ebx]
cmp dword [eax + 4], 0
je 0x3bb787
mov ecx, dword [ebp + 8]
mov edi, dword [ebx + 4]
call fcn.002fb4d0
xor esi, esi
cmp dword [ebp + 0x14], esi
jle 0x3bb755
nop
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + esi*4]
cmp dword [eax + 0x14], 0x10
mov edi, dword [ebx + 4]
jb 0x3bb6f6
mov edx, dword [eax]
mov dword [esp + 0x14], edx
jmp 0x3bb6fa
push 0x21
push str.File_recursively_imports_itself:
lea ecx, [esp + 0x70]
mov dword [esp + 0x84], 0xf
mov dword [esp + 0x80], 0
mov byte [esp + 0x70], 0
call fcn.002f8800
mov dword [esp + 0x174], 3
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp esi, ecx
jae 0x3bb688
lea edi, [esi*8]
sub edi, esi
add edi, edi
add edi, edi
mov eax, dword [ebx + 4]
mov eax, dword [eax]
push 0xffffffffffffffff
add eax, edi
push 0
push eax
lea ecx, [esp + 0x74]
call fcn.002f77b0
push 4
push str.___
lea ecx, [esp + 0x70]
call fcn.002f78a0
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
add edi, 0x1c
cmp esi, eax
jb 0x3bb640
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x74]
call fcn.002f77b0
mov edi, dword [ebp + 8]
lea ecx, [esp + 0x68]
push ecx
push 9
push ebp
mov esi, ebx
call fcn.003b95b0
mov dword [esp + 0x174], 0xffffffff
cmp dword [esp + 0x7c], 0x10
jb 0x3bb6ca
mov edx, dword [esp + 0x68]
push edx
call fcn.00438a36
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x16c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00438a41
add esp, 0x164
ret 4
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x28]
push ecx
lea eax, [edi + 0xd4]
call fcn.003b2930
mov edi, dword [edi + 0xd8]
mov eax, dword [esp + 0x24]
cmp eax, edi
je 0x3bb723
cmp dword [eax + 0xc], 0
jne 0x3bb74b
mov eax, dword [ebx]
cmp dword [eax + 0xc], 0
je 0x3bb73e
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + esi*4]
push ecx
mov ecx, dword [eax + 0xc]
call fcn.003b5710
test eax, eax
jne 0x3bb74b
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + esi*4]
mov ecx, dword [ebx]
call fcn.003b5a50
inc esi
cmp esi, dword [ebp + 0x14]
jl 0x3bb5c0
mov edi, dword [ebx + 4]
mov esi, dword [edi + 4]
cmp dword [edi], esi
je 0x3bb787
cmp dword [esi - 8], 0x10
jb 0x3bb771
mov eax, dword [esi - 0x1c]
push eax
call fcn.00438a36
add esp, 4
mov dword [esi - 8], 0xf
mov dword [esi - 0xc], 0
mov byte [esi - 0x1c], 0
add dword [edi + 4], 0xffffffe4
mov esi, dword [ebx + 4]
call fcn.003b41f0
mov esi, dword [ebx + 4]
push 0x3c
call fcn.00438a50
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x9c]
lea ecx, [esp + 0x24]
add esp, 4
cmp ecx, eax
jae 0x3bb831
mov edx, dword [esi + 0x98]
cmp edx, ecx
ja 0x3bb831
mov edi, ecx
mov ecx, dword [esi + 0xa0]
sub edi, edx
sar edi, 2
cmp eax, ecx
jne 0x3bb818
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x3bb7e3
push 0x4c88f8
call fcn.004379c1
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x3bb818
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x3bb800
xor ecx, ecx
jmp 0x3bb802
add ecx, edx
cmp ecx, eax
jae 0x3bb808
mov ecx, eax
push ecx
lea ecx, [esi + 0x98]
call fcn.003826f0
mov ebx, dword [esp + 0x1c]
mov eax, dword [esi + 0x9c]
mov edx, dword [esi + 0x98]
lea edi, [edx + edi*4]
test eax, eax
je 0x3bb898
mov ecx, dword [edi]
mov dword [eax], ecx
jmp 0x3bb898
mov ecx, dword [esi + 0xa0]
cmp eax, ecx
jne 0x3bb888
mov edx, dword [esi + 0x98]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x3bb857
push 0x4c88f8
call fcn.004379c1
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x3bb888
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x3bb874
xor ecx, ecx
jmp 0x3bb876
add ecx, edx
cmp ecx, eax
jae 0x3bb87c
mov ecx, eax
push ecx
lea ecx, [esi + 0x98]
call fcn.003826f0
mov eax, dword [esi + 0x9c]
test eax, eax
je 0x3bb898
mov edx, dword [esp + 0x20]
mov dword [eax], edx
add dword [esi + 0x9c], 4
mov eax, dword [esp + 0x20]
mov edi, dword [ebx + 4]
push 0xdc
mov dword [ebx + 0x3c], eax
call fcn.00438a50
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov dword [esp + 0x174], 7
test esi, esi
je 0x3bb921
push esi
call fcn.003c4820
lea eax, [esi + 0x2c]
push eax
mov byte [esp + 0x178], 8
call fcn.003c4910
lea eax, [esi + 0x58]
push eax
mov byte [esp + 0x178], 9
call fcn.003c4910
lea eax, [esi + 0x84]
push eax
mov byte [esp + 0x178], 0xa
call fcn.003c4910
lea eax, [esi + 0xb0]
push eax
mov byte [esp + 0x178], 0xb
call fcn.003c4910
mov dword [esp + 0x18], esi
jmp 0x3bb929
mov dword [esp + 0x18], 0
mov dword [esp + 0x174], 0xffffffff
mov eax, dword [edi + 0x8c]
mov ecx, dword [esp + 0x18]
lea esi, [edi + 0x88]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], ecx
cmp edx, eax
jae 0x3bb9bf
mov edx, dword [esi]
lea ecx, [esp + 0x14]
cmp edx, ecx
ja 0x3bb9bf
mov edi, ecx
mov ecx, dword [esi + 8]
sub edi, edx
sar edi, 2
cmp eax, ecx
jne 0x3bb9ad
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x3bb97e
push 0x4c88f8
call fcn.004379c1
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x3bb9ad
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x3bb99b
xor ecx, ecx
jmp 0x3bb99d
add ecx, edx
cmp ecx, eax
jae 0x3bb9a3
mov ecx, eax
push ecx
call fcn.003c4c90
mov ebx, dword [esp + 0x1c]
mov eax, dword [esi + 4]
mov edx, dword [esi]
lea edi, [edx + edi*4]
test eax, eax
je 0x3bba16
mov ecx, dword [edi]
mov dword [eax], ecx
jmp 0x3bba16
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x3bba09
mov edx, dword [esi]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x3bb9de
push 0x4c88f8
call fcn.004379c1
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x3bba09
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x3bb9fb
xor ecx, ecx
jmp 0x3bb9fd
add ecx, edx
cmp ecx, eax
jae 0x3bba03
mov ecx, eax
push ecx
call fcn.003c4c90
mov eax, dword [esi + 4]
test eax, eax
je 0x3bba16
mov edx, dword [esp + 0x18]
mov dword [eax], edx
add dword [esi + 4], 4
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
mov dword [ecx + 0x38], eax
test byte [ebp + 0xbc], 1
jne 0x3bbaf0
push 0x28
mov esi, 0xf
xor edi, edi
push str.Missing_field:_FileDescriptorProto.name.
lea ecx, [esp + 0x54]
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], edi
mov byte [esp + 0x54], 0
call fcn.002f8800
mov dword [esp + 0x174], 0xc
push edi
push 0x4c8b48
lea ecx, [esp + 0x70]
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], edi
mov byte [esp + 0x70], 0
call fcn.002f8800
lea edx, [esp + 0x4c]
push edx
push 9
push ebp
lea edi, [esp + 0x74]
mov esi, ebx
mov byte [esp + 0x180], 0xd
call fcn.003b95b0
mov byte [esp + 0x174], 0xc
cmp dword [esp + 0x7c], 0x10
jb 0x3bbabc
mov eax, dword [esp + 0x68]
push eax
call fcn.00438a36
add esp, 4
mov dword [esp + 0x174], 0xffffffff
cmp dword [esp + 0x60], 0x10
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], 0
mov byte [esp + 0x68], 0
jb 0x3bbaf0
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.00438a36
add esp, 4
mov edx, dword [ebx + 4]
mov edi, dword [ebp + 8]
push 0x1c
mov dword [esp + 0x28], edx
call fcn.00438a50
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x174], 0xe
test esi, esi
je 0x3bbb3c
push 0xffffffffffffffff
push 0
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
push edi
mov ecx, esi
mov byte [esi], 0
call fcn.002f9870
mov dword [esp + 0x18], esi
jmp 0x3bbb44
mov dword [esp + 0x18], 0
mov dword [esp + 0x174], 0xffffffff
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
add esi, 0x68
mov dword [esp + 0x14], eax
mov eax, dword [esi + 4]
lea ecx, [esp + 0x14]
cmp ecx, eax
jae 0x3bbbd4
mov edx, dword [esi]
cmp edx, ecx
ja 0x3bbbd4
mov edi, ecx
mov ecx, dword [esi + 8]
sub edi, edx
sar edi, 2
cmp eax, ecx
jne 0x3bbbc2
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x3bbb93
push 0x4c88f8
call fcn.004379c1
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x3bbbc2
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x3bbbb0
xor ecx, ecx
jmp 0x3bbbb2
add ecx, edx
cmp ecx, eax
jae 0x3bbbb8
mov ecx, eax
push ecx
call fcn.003c4c90
mov ebx, dword [esp + 0x1c]
mov eax, dword [esi + 4]
mov edx, dword [esi]
lea edi, [edx + edi*4]
test eax, eax
je 0x3bbc2b
mov ecx, dword [edi]
mov dword [eax], ecx
jmp 0x3bbc2b
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x3bbc1e
mov edx, dword [esi]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x3bbbf3
push 0x4c88f8
call fcn.004379c1
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x3bbc1e
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x3bbc10
xor ecx, ecx
jmp 0x3bbc12
add ecx, edx
cmp ecx, eax
jae 0x3bbc18
mov ecx, eax
push ecx
call fcn.003c4c90
mov eax, dword [esi + 4]
test eax, eax
je 0x3bbc2b
mov edx, dword [esp + 0x18]
mov dword [eax], edx
add dword [esi + 4], 4
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
mov edx, dword [ebp + 0xbc]
shr edx, 1
test dl, 1
je 0x3bbd8c
mov eax, dword [esp + 0x1c]
mov edi, dword [ebp + 0xc]
mov ebx, dword [eax + 4]
push 0x1c
call fcn.00438a50
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov dword [esp + 0x174], 0xf
test esi, esi
je 0x3bbc98
push 0xffffffffffffffff
push 0
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
push edi
mov ecx, esi
mov byte [esi], 0
call fcn.002f9870
mov dword [esp + 0x18], esi
mov edi, esi
jmp 0x3bbc9e
xor edi, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x174], 0xffffffff
mov eax, dword [ebx + 0x6c]
lea esi, [ebx + 0x68]
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], edi
cmp ecx, eax
jae 0x3bbd22
mov edx, dword [esi]
cmp edx, ecx
ja 0x3bbd22
mov edi, ecx
mov ecx, dword [esi + 8]
sub edi, edx
sar edi, 2
cmp eax, ecx
jne 0x3bbd10
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x3bbce5
push 0x4c88f8
call fcn.004379c1
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x3bbd10
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x3bbd02
xor ecx, ecx
jmp 0x3bbd04
add ecx, edx
cmp ecx, eax
jae 0x3bbd0a
mov ecx, eax
push ecx
call fcn.003c4c90
mov eax, dword [esi + 4]
mov edx, dword [esi]
lea edi, [edx + edi*4]
test eax, eax
je 0x3bbd75
mov ecx, dword [edi]
mov dword [eax], ecx
jmp 0x3bbd75
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x3bbd6c
mov edx, dword [esi]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x3bbd41
push 0x4c88f8
call fcn.004379c1
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x3bbd6c
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x3bbd5e
xor ecx, ecx
jmp 0x3bbd60
add ecx, edx
cmp ecx, eax
jae 0x3bbd66
mov ecx, eax
push ecx
call fcn.003c4c90
mov eax, dword [esi + 4]
test eax, eax
je 0x3bbd75
mov dword [eax], edi
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
add dword [esi + 4], 4
mov ebx, dword [esp + 0x1c]
mov dword [eax + 4], edx
mov edi, eax
jmp 0x3bbdf0
push 0
push 0x4c8b48
lea ecx, [esp + 0x54]
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], 0
mov byte [esp + 0x54], 0
call fcn.002f8800
mov esi, 0x10
lea ecx, [esp + 0x4c]
mov dword [esp + 0x174], esi
mov edx, dword [ebx + 4]
push ecx
push edx
call fcn.003b5320
mov edi, dword [esp + 0x20]
mov dword [esp + 0x174], 0xffffffff
mov dword [edi + 4], eax
cmp dword [esp + 0x60], esi
jb 0x3bbdf0
mov eax, dword [esp + 0x4c]
push eax
call fcn.00438a36
add esp, 4
mov ecx, dword [ebx]
mov dword [edi + 8], ecx
mov edx, dword [ebx + 4]
push edx
mov eax, edi
call fcn.003b5090
test al, al
jne 0x3bbe72
push 0x2d
push str.A_file_with_this_name_is_already_in_the_pool.
lea ecx, [esp + 0x54]
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], 0
mov byte [esp + 0x54], al
call fcn.002f8800
lea eax, [esp + 0x4c]
push eax
push 9
mov dword [esp + 0x17c], 0x11
mov edi, dword [ebp + 8]
push ebp
mov esi, ebx
call fcn.003b95b0
mov dword [esp + 0x174], 0xffffffff
cmp dword [esp + 0x60], 0x10
jb 0x3bbe64
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.00438a36
add esp, 4
mov edx, dword [ebx + 4]
push edx
call fcn.003b42e0
jmp 0x3bb6ca
mov eax, dword [edi + 4]
xor esi, esi
cmp dword [eax + 0x10], esi
je 0x3bbe86
push edi
push ebp
push eax
mov ecx, ebx
call fcn.003bace0
push 0x2c
mov dword [esp + 0x38], esi
call fcn.00438a50
add esp, 4
cmp eax, esi
je 0x3bc566
mov dword [esp + 0x30], eax
mov dword [eax], eax
mov eax, dword [esp + 0x30]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x30]
mov dword [eax + 8], eax
mov eax, dword [esp + 0x30]
mov byte [eax + 0x28], 1
mov ecx, dword [esp + 0x30]
mov byte [ecx + 0x29], 1
mov dword [esp + 0x174], 0x13
mov eax, dword [ebp + 0x14]
mov dword [edi + 0xc], eax
mov eax, dword [ebp + 0x14]
mov esi, dword [ebx + 4]
add eax, eax
add eax, eax
je 0x3bbefe
push eax
call fcn.00438a50
add esp, 4
lea edx, [esp + 0x14]
push edx
lea ecx, [esi + 0x98]
mov dword [esp + 0x18], eax
call fcn.00382560
mov eax, dword [esp + 0x14]
mov dword [edi + 0x10], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x18], 0
test eax, eax
jle 0x3bc223
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x18]
mov ebx, dword [eax + ecx*4]
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x30]
push eax
call fcn.0033ae20
cmp byte [esp + 0x48], 0
jne 0x3bbfd8
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + edx*4]
push eax
lea eax, [esp + 0x88]
push eax
mov ebx, str.Import__
call fcn.003c53d0
push str.__was_listed_twice.
push eax
lea ecx, [esp + 0x5c]
mov bl, 0x16
push ecx
mov byte [esp + 0x188], bl
call fcn.002fc430
add esp, 0x14
mov esi, dword [esp + 0x1c]
push eax
push 9
mov byte [esp + 0x17c], 0x17
mov edi, dword [ebp + 8]
push ebp
call fcn.003b95b0
mov byte [esp + 0x174], bl
cmp dword [esp + 0x60], 0x10
jb 0x3bbfa4
mov edx, dword [esp + 0x4c]
push edx
call fcn.00438a36
add esp, 4
xor eax, eax
mov byte [esp + 0x174], 0x13
cmp dword [esp + 0x98], 0x10
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], eax
mov byte [esp + 0x4c], al
jb 0x3bbfd8
mov eax, dword [esp + 0x84]
push eax
call fcn.00438a36
add esp, 4
mov ecx, dword [ebp + 0x10]
mov esi, dword [esp + 0x18]
mov eax, dword [ecx + esi*4]
cmp dword [eax + 0x14], 0x10
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi + 4]
jb 0x3bbff7
mov edx, dword [eax]
mov dword [esp + 0x14], edx
jmp 0x3bbffb
mov dword [esp + 0x14], eax
lea ebx, [ecx + 0xd4]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x28]
push ecx
mov eax, ebx
call fcn.003b2930
mov ebx, dword [ebx + 4]
mov eax, dword [esp + 0x24]
cmp eax, ebx
jne 0x3bc021
xor eax, eax
jmp 0x3bc024
mov eax, dword [eax + 0xc]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x3bc20b
mov ecx, dword [edi]
cmp dword [ecx + 0xc], eax
je 0x3bc052
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + esi*4]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.003b5710
mov dword [esp + 0x14], eax
test eax, eax
jne 0x3bc20b
mov eax, dword [edi]
cmp byte [eax + 0x15], 0
je 0x3bc06b
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + esi*4]
push eax
call fcn.003ba650
jmp 0x3bc20b
mov edi, 0xf
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], 0
mov byte [esp + 0x68], 0
mov byte [esp + 0x174], 0x1b
cmp dword [eax + 4], 0
mov ebx, str.Import__
jne 0x3bc131
mov ecx, dword [ebp + 0x10]
mov esi, dword [ecx + esi*4]
lea edx, [esp + 0x84]
push esi
push edx
call fcn.003c53d0
push str.__has_not_been_loaded.
push eax
lea eax, [esp + 0x5c]
mov bl, 0x1d
push eax
mov byte [esp + 0x188], bl
call fcn.002fc430
add esp, 0x14
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0x178], 0x1e
call fcn.002f7740
mov esi, 0x10
mov byte [esp + 0x174], bl
cmp dword [esp + 0x60], esi
jb 0x3bc0f9
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.00438a36
add esp, 4
xor ebx, ebx
mov byte [esp + 0x174], 0x1b
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x4c], bl
cmp dword [esp + 0x98], esi
jb 0x3bc1c3
mov edx, dword [esp + 0x84]
push edx
call fcn.00438a36
add esp, 4
jmp 0x3bc1c3
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + esi*4]
lea ecx, [esp + 0x84]
push esi
push ecx
call fcn.003c53d0
push str.__was_not_found_or_had_errors.
push eax
lea edx, [esp + 0x5c]
mov bl, 0x20
push edx
mov byte [esp + 0x188], bl
call fcn.002fc430
add esp, 0x14
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0x178], 0x21
call fcn.002f7740
mov esi, 0x10
mov byte [esp + 0x174], bl
cmp dword [esp + 0x60], esi
jb 0x3bc192
mov eax, dword [esp + 0x4c]
push eax
call fcn.00438a36
add esp, 4
xor eax, eax
mov byte [esp + 0x174], 0x1b
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], eax
mov byte [esp + 0x4c], al
cmp dword [esp + 0x98], esi
jb 0x3bc1c1
mov ecx, dword [esp + 0x84]
push ecx
call fcn.00438a36
add esp, 4
xor ebx, ebx
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x68]
push edx
push 9
push ebp
call fcn.003b95b0
mov byte [esp + 0x174], 0x13
cmp dword [esp + 0x7c], 0x10
jb 0x3bc1f3
mov eax, dword [esp + 0x68]
push eax
call fcn.00438a36
add esp, 4
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x10]
mov dword [edx + esi*4], eax
inc esi
mov dword [esp + 0x18], esi
cmp esi, dword [ebp + 0x14]
jl 0x3bbf14
mov eax, dword [ebp + 0x34]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x34]
mov esi, dword [ecx + 4]
shl eax, 6
test eax, eax
je 0x3bc25f
push eax
call fcn.00438a50
add esp, 4
lea edx, [esp + 0x14]
push edx
lea ecx, [esi + 0x98]
mov dword [esp + 0x18], eax
call fcn.00382560
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp + 0x34]
xor esi, esi
test eax, eax
jle 0x3bc291
xor edi, edi
lea ecx, [ecx]
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebp + 0x30]
mov eax, dword [eax + esi*4]
add ecx, edi
push ecx
mov ecx, dword [esp + 0x20]
push 0
push eax
call fcn.003bc590
inc esi
add edi, 0x40
cmp esi, dword [ebp + 0x34]
jl 0x3bc270
mov eax, dword [ebp + 0x54]
mov edx, dword [esp + 0x1c]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp + 0x54]
mov esi, dword [edx + 4]
shl eax, 5
test eax, eax
je 0x3bc2c9
push eax
call fcn.00438a50
mov dword [esp + 0x18], eax
add esp, 4
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + 0x98]
call fcn.00382560
mov eax, dword [esp + 0x14]
xor esi, esi
mov dword [ebx + 0x20], eax
cmp dword [ebp + 0x54], esi
jle 0x3bc2f9
xor edi, edi
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x20]
mov ecx, dword [ebp + 0x50]
mov ebx, dword [ecx + esi*4]
mov ecx, dword [esp + 0x1c]
add eax, edi
push eax
push 0
call fcn.003be280
inc esi
add edi, 0x20
cmp esi, dword [ebp + 0x54]
jl 0x3bc2d5
mov eax, dword [ebp + 0x74]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp + 0x74]
mov esi, dword [ecx + 4]
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
add eax, eax
je 0x3bc339
push eax
call fcn.00438a50
add esp, 4
lea edx, [esp + 0x14]
push edx
lea ecx, [esi + 0x98]
mov dword [esp + 0x18], eax
call fcn.00382560
mov eax, dword [esp + 0x14]
xor esi, esi
mov dword [ebx + 0x28], eax
cmp dword [ebp + 0x74], esi
jle 0x3bc372
mov dword [esp + 0x14], esi
jmp 0x3bc350
mov ecx, dword [ebx + 0x28]
add ecx, dword [esp + 0x14]
mov eax, dword [ebp + 0x70]
mov edi, dword [eax + esi*4]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.003be940
add dword [esp + 0x14], 0x18
inc esi
cmp esi, dword [ebp + 0x74]
jl 0x3bc350
mov eax, dword [ebp + 0x94]
mov edx, dword [esp + 0x1c]
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp + 0x94]
mov esi, dword [edx + 4]
lea eax, [eax + eax*8]
add eax, eax
add eax, eax
add eax, eax
je 0x3bc3b4
push eax
call fcn.00438a50
mov dword [esp + 0x18], eax
add esp, 4
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + 0x98]
call fcn.00382560
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [ebx + 0x30], eax
cmp dword [ebp + 0x94], edi
jle 0x3bc3eb
xor esi, esi
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebp + 0x90]
mov edx, dword [ecx + edi*4]
mov ecx, dword [esp + 0x1c]
push 1
add eax, esi
push eax
push 0
call fcn.003bd260
inc edi
add esi, 0x48
cmp edi, dword [ebp + 0x94]
jl 0x3bc3c3
mov edx, dword [ebp + 0xbc]
shr edx, 7
test dl, 1
jne 0x3bc402
mov dword [ebx + 0x34], 0
jmp 0x3bc428
mov eax, dword [ebp + 0xb0]
test eax, eax
jne 0x3bc417
mov eax, dword [0x52d9f0]
mov eax, dword [eax + 0xb0]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ebx, eax
call fcn.003bb2b0
mov ebx, esi
mov ecx, dword [esp + 0x1c]
push ebp
push ecx
call fcn.003beb70
mov esi, dword [esp + 0x1c]
cmp byte [esi + 0x1c], 0
jne 0x3bc4d8
mov edi, esi
push edi
lea esi, [esp + 0x88]
call fcn.003c0710
mov byte [esp + 0x174], 0x26
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
je 0x3bc475
push esi
lea ecx, [esp + 0x88]
call fcn.003c0800
add esi, 0x40
cmp esi, dword [edi + 0x10]
jne 0x3bc460
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
cmp ecx, eax
je 0x3bc4a5
mov edx, dword [esp + 0x24]
push edx
mov ebx, eax
call fcn.003c64b0
mov ecx, dword [esp + 0x28]
add esp, 4
mov esi, eax
mov eax, dword [edi + 0x10]
push ecx
push eax
push esi
call fcn.003c6500
add esp, 0xc
mov dword [edi + 0x10], esi
lea edx, [esp + 0x90]
push edx
mov byte [esp + 0x178], 0x13
call fcn.003fa9e0
mov esi, dword [esp + 0x1c]
cmp byte [esi + 0x1c], 0
mov ebx, dword [esp + 0x20]
jne 0x3bc4d8
push ebp
mov edx, ebx
mov ecx, esi
call fcn.003bfc60
cmp byte [esi + 0x1c], 0
je 0x3bc519
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
push ecx
call fcn.003b42e0
mov dword [esp + 0x174], 0x27
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [esp + 0x2c]
lea esi, [esp + 0x34]
call fcn.0033af70
mov dword [esp + 0x174], 0xffffffff
mov edx, dword [esp + 0x30]
jmp 0x3bb6c1
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 4]
call fcn.003b41f0
mov dword [esp + 0x174], 0x28
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [esp + 0x2c]
lea esi, [esp + 0x34]
call fcn.0033af70
mov dword [esp + 0x174], 0xffffffff
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00438a36
mov eax, dword [esp + 0x24]
add esp, 4
jmp 0x3bb6cc
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], vtable.stdext::bad_alloc.0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x174], 0x12
call fcn.002f4df0
int3