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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x576572
mov eax, dword fs:[0]
push eax
sub esp, 0xd8
push ebx
push esi
push edi
mov eax, dword [0x5fb61c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x18], ebx
mov ecx, dword [ebx + 0x18]
call fcn.00413420
mov esi, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
cmp eax, 2
jne 0x415bf8
cmp edx, edi
jne 0x415bf8
lea eax, [esi + 0x130]
push eax
mov ecx, ebx
call fcn.004140e0
mov ecx, dword [ebx + 0x18]
call fcn.00413420
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x3c], vtable.CObjectVector_class_CBuffer_unsigned_char__.0
mov dword [ebp - 4], edi
cmp eax, 3
jne 0x415cb4
cmp edx, edi
jne 0x415cb4
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push ecx
mov ecx, dword [esi + 0x144]
push edx
mov edx, dword [esi + 0x140]
lea eax, [ebp - 0x3c]
push eax
lea ebx, [esi + 0x150]
push ebx
push ecx
mov ecx, dword [ebp - 0x18]
push edx
call fcn.00415680
mov dword [ebp + 0x10], eax
cmp eax, edi
je 0x415c8f
mov dword [ebp - 0x3c], vtable.CObjectVector_class_CBuffer_unsigned_char__.0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 1
call fcn.0042be60
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.0042bf60
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esi + 0x140]
add dword [ebx], eax
mov ecx, dword [esi + 0x144]
mov edx, dword [ebp - 0x18]
adc dword [ebx + 4], ecx
mov ecx, dword [edx + 0x18]
call fcn.00413420
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x54], 8
mov dword [ebp - 0x64], vtable.CRecordVector_unsigned_long_long_unsigned___int64__.0
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xa4], 1
mov dword [ebp - 0xb4], vtable.CRecordVector_bool_.0
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x90], 4
mov dword [ebp - 0xa0], vtable.CRecordVector_unsigned_int_.0
mov byte [ebp - 4], 4
cmp eax, 4
jne 0x415d7d
cmp edx, edi
jne 0x415d7d
lea ecx, [ebp - 0xa0]
push ecx
lea edx, [ebp - 0xb4]
push edx
lea ecx, [ebp - 0x64]
push ecx
lea eax, [esi + 0x50]
push eax
lea edx, [esi + 0x3c]
push edx
lea eax, [esi + 0x28]
push eax
lea ecx, [esi + 0x14]
push ecx
push esi
lea edi, [esi + 0x148]
push edi
lea edx, [ebp - 0x3c]
push edx
mov ecx, ebx
call fcn.004155d0
mov eax, dword [esi + 0x140]
add dword [edi], eax
mov ecx, dword [esi + 0x144]
adc dword [edi + 4], ecx
mov ecx, dword [ebx + 0x18]
call fcn.00413420
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
jmp 0x415e3b
xor ebx, ebx
cmp dword [esi + 0x44], edi
jle 0x415e3b
mov esi, dword [ebp + 8]
jmp 0x415d90
lea ecx, [esi + 0x50]
call fcn.0042be70
mov edx, dword [esi + 0x58]
mov eax, dword [esi + 0x5c]
mov dword [eax + edx*4], 1
inc dword [esi + 0x58]
mov ecx, esi
mov edx, dword [ecx + 0x48]
mov edi, dword [edx + ebx*4]
mov ecx, edi
call fcn.0040dac0
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
call fcn.0042be70
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x28]
mov dword [eax + ecx*8], edx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x24]
mov dword [ecx + eax*8 + 4], edx
inc dword [ebp - 0x5c]
movzx eax, byte [edi + 0x54]
lea ecx, [ebp - 0xb4]
mov byte [ebp + 0x10], al
call fcn.0042be70
mov ecx, dword [ebp - 0xac]
movzx eax, byte [ebp + 0x10]
mov edx, dword [ebp - 0xa8]
mov byte [edx + ecx], al
inc dword [ebp - 0xac]
mov edi, dword [edi + 0x50]
lea ecx, [ebp - 0xa0]
call fcn.0042be70
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x94]
mov dword [edx + ecx*4], edi
inc dword [ebp - 0x98]
inc ebx
mov eax, esi
cmp ebx, dword [eax + 0x44]
jl 0x415d90
mov esi, dword [ebp + 8]
add esi, 0x64
mov ecx, esi
call fcn.0042be60
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov edx, ecx
or edx, eax
jne 0x415eb9
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 3
call fcn.0042bf60
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 2
call fcn.0042bf60
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0
call fcn.0042bf60
mov dword [ebp - 0x3c], vtable.CObjectVector_class_CBuffer_unsigned_char__.0
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x3c]
call fcn.0042be60
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.0042bf60
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp ecx, 5
jne 0x415ec2
test eax, eax
je 0x415ec7
call fcn.00413400
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebx + 0x18]
call fcn.00413420
mov edi, eax
mov dword [ebp - 0xe4], edi
test edx, edx
jne 0x415ee6
cmp edi, 0x7fffffff
jbe 0x415eeb
call fcn.00413400
push edi
mov ecx, esi
call fcn.0042bd30
test edi, edi
je 0x415f55
mov dword [ebp + 0x10], edi
lea ebx, [ebx]
xor eax, eax
push 3
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
call fcn.00408e30
mov dword [ebp - 0xc0], 1
lea eax, [ebp - 0xdc]
push eax
mov ecx, esi
mov byte [ebp - 4], 6
call fcn.00414b40
mov ecx, dword [ebp - 0xcc]
push ecx
mov byte [ebp - 4], 4
call int.0042bfd0
add esp, 4
dec dword [ebp + 0x10]
jne 0x415f00
mov esi, dword [ebp + 8]
add esi, 0x158
mov ecx, esi
call fcn.0042be70
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 8]
mov dword [eax + ecx*8], 9
mov dword [eax + ecx*8 + 4], 0
inc dword [esi + 8]
cmp dword [edx + 8], 0
je 0x415fa5
mov ecx, esi
call fcn.0042be70
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov dword [eax + ecx*8], 6
mov dword [eax + ecx*8 + 4], 0
inc dword [esi + 8]
test edi, edi
je 0x415fd1
cmp dword [ebp - 0x98], 0
je 0x415fd1
mov ecx, esi
call fcn.0042be70
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov dword [eax + ecx*8], 0xa
mov dword [eax + ecx*8 + 4], 0
inc dword [esi + 8]
xor esi, esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x50], vtable.CRecordVector_bool_.0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 7
call fcn.0042be60
push edi
lea ecx, [ebp - 0x50]
call fcn.0042bd30
cmp edi, esi
jle 0x416025
mov dword [ebp + 0x10], edi
lea ecx, [ebp - 0x50]
call fcn.0042be70
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov byte [ecx + eax], 0
mov eax, 1
add dword [ebp - 0x48], eax
sub dword [ebp + 0x10], eax
jne 0x416006
mov ecx, 1
mov eax, vtable.CRecordVector_bool_.0
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x78], eax
mov ecx, dword [ebx + 0x18]
mov byte [ebp - 4], 9
mov dword [ebp + 0x10], esi
call fcn.00413420
mov dword [ebp - 0x20], eax
or eax, edx
mov dword [ebp - 0x1c], edx
je 0x416419
mov ecx, dword [ebx + 0x18]
call fcn.00413420
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x10], edx
mov edx, dword [eax + 8]
mov dword [ebp + 0xc], edx
xor edx, edx
cmp dword [ebp - 0x1c], edx
ja case.0x4160b3.22
jb 0x4160a4
cmp dword [ebp - 0x20], 0x40000000
ja case.0x4160b3.22
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff2
cmp ecx, 0xb
ja case.0x4160b3.22
jmp dword [ecx*4 + 0x41656c]
mov byte [ebp - 0xb8], dl
lea eax, [ebp - 0x3c]
push eax
push ebx
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0xa
call fcn.00413d10
mov edi, dword [ebp + 8]
xor esi, esi
cmp dword [edi + 0x6c], esi
jle 0x4160f8
mov edi, edi
mov ecx, dword [edi + 0x70]
mov eax, dword [ecx + esi*4]
mov ecx, dword [ebx + 0x18]
add eax, 0x10
push eax
call fcn.00413da0
inc esi
cmp esi, dword [edi + 0x6c]
jl 0x4160e0
cmp byte [ebp - 0xb8], 0
mov byte [ebp - 4], 9
je 0x4162ca
mov edi, dword [ebp - 0xbc]
lea ecx, [edi + 4]
call fcn.0042bd20
cmp dword [edi + 0xc], 0
je 0x41612a
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
mov eax, dword [eax + edx*4 - 4]
mov dword [edi + 0x18], eax
mov byte [ebp - 0xb8], 0
jmp 0x4162ca
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], 1
mov dword [ebp - 0xd0], vtable.CRecordVector_bool_.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x6c]
lea edx, [ebp - 0xd0]
push edx
push eax
mov ecx, ebx
mov byte [ebp - 4], 0xb
call fcn.004135b0
mov byte [ebp - 0x24], 0
lea eax, [ebp - 0x3c]
push eax
push ebx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xc
call fcn.00413d10
xor ecx, ecx
test edi, edi
je 0x4161d2
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x70]
mov edx, dword [ebp - 0xc4]
mov edi, dword [eax + ecx*4]
mov al, byte [edx + ecx]
mov byte [edi + 0x1f], al
test al, al
je 0x4161c9
mov eax, dword [ebx + 0x18]
mov edx, dword [eax + 8]
lea esi, [edx + 4]
cmp esi, dword [eax + 4]
ja 0x415ec2
mov ebx, dword [eax]
mov edx, dword [edx + ebx]
mov ebx, dword [ebp - 0x18]
mov dword [eax + 8], esi
mov dword [edi + 8], edx
inc ecx
cmp ecx, dword [ebp - 0xe4]
jb 0x416190
cmp byte [ebp - 0x24], 0
mov byte [ebp - 4], 0xb
je 0x4161fe
mov edi, dword [ebp - 0x28]
lea ecx, [edi + 4]
call fcn.0042bd20
cmp dword [edi + 0xc], 0
je 0x4161fa
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + eax*4 - 4]
mov dword [edi + 0x18], eax
mov byte [ebp - 0x24], 0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 9
call fcn.0042bf60
jmp 0x4162ca
lea edx, [ebp - 0x50]
push edx
push edi
mov ecx, ebx
call fcn.00413530
mov ecx, dword [ebp - 0x48]
xor eax, eax
test ecx, ecx
je 0x41623f
mov edx, dword [ebp - 0x44]
lea ebx, [ebx]
cmp byte [edx + eax], 0
je 0x416237
inc esi
inc eax
cmp eax, ecx
jb 0x416230
mov dword [ebp + 0x10], esi
lea ecx, [ebp - 0x8c]
call fcn.0042be60
push esi
lea ecx, [ebp - 0x8c]
call fcn.0042bd30
test esi, esi
jle 0x416281
mov edi, esi
lea esp, [esp]
lea ecx, [ebp - 0x8c]
call fcn.0042be70
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
mov byte [ecx + eax], 0
inc dword [ebp - 0x84]
dec edi
jne 0x416260
lea ecx, [ebp - 0x78]
call fcn.0042be60
push esi
lea ecx, [ebp - 0x78]
call fcn.0042bd30
test esi, esi
jle 0x4162ca
mov edi, 1
jmp 0x4162a0
lea ecx, [ebp - 0x78]
call fcn.0042be70
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov byte [eax + edx], 0
add dword [ebp - 0x70], edi
sub esi, edi
jne 0x4162a0
jmp 0x4162ca
lea ecx, [ebp - 0x8c]
push ecx
push esi
mov ecx, ebx
call fcn.00413530
mov esi, dword [ebp + 8]
lea ecx, [esi + 0x158]
call fcn.0042be70
mov ecx, dword [esi + 0x160]
mov eax, dword [esi + 0x164]
mov edx, dword [ebp - 0x20]
mov dword [eax + ecx*8], edx
mov edx, dword [ebp - 0x1c]
mov dword [eax + ecx*8 + 4], edx
inc dword [esi + 0x160]
jmp 0x4163c8
lea edx, [ebp - 0x78]
push edx
jmp 0x4162c2
mov eax, dword [ebp + 8]
push edi
add eax, 0xf0
push eax
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, ebx
call fcn.00414a40
jmp 0x4162ca
mov edx, dword [ebp + 8]
push edi
add edx, 0x78
push edx
lea eax, [ebp - 0x3c]
push eax
mov ecx, ebx
call fcn.00414a40
jmp 0x4162ca
mov ecx, dword [ebp + 8]
push edi
add ecx, 0xa0
push ecx
lea edx, [ebp - 0x3c]
push edx
mov ecx, ebx
call fcn.00414a40
jmp 0x4162ca
mov eax, dword [ebp + 8]
push edi
add eax, 0xc8
push eax
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, ebx
call fcn.00414a40
jmp 0x4162ca
xor edi, edi
xor esi, esi
cmp dword [ebp - 0x10], edx
jb 0x4163c8
ja 0x416370
cmp dword [ebp - 0x14], edx
jbe 0x4163c8
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax + 8]
cmp ecx, dword [eax + 4]
jae 0x415ec2
mov edx, dword [eax]
mov dl, byte [ecx + edx]
inc ecx
mov dword [eax + 8], ecx
test dl, dl
jne 0x415ec2
add edi, 1
adc esi, 0
cmp esi, dword [ebp - 0x10]
jb 0x416370
ja 0x4163c8
cmp edi, dword [ebp - 0x14]
jb 0x416370
jmp 0x4163c8
mov edx, dword [eax + 8]
mov ecx, dword [eax + 4]
xor esi, esi
sub ecx, edx
cmp dword [ebp - 0x10], esi
ja 0x415ec2
jb 0x4163c2
cmp dword [ebp - 0x14], ecx
ja 0x415ec2
add edx, dword [ebp - 0x14]
mov dword [eax + 8], edx
mov eax, dword [ebp + 8]
cmp byte [eax + 0x130], 0
ja 0x4163dd
cmp byte [eax + 0x131], 2
jbe 0x4163fa
mov edx, dword [ebx + 0x18]
mov eax, dword [edx + 8]
sub eax, dword [ebp + 0xc]
xor ecx, ecx
cmp eax, dword [ebp - 0x14]
jne 0x415ec2
cmp ecx, dword [ebp - 0x10]
jne 0x415ec2
mov ecx, dword [ebx + 0x18]
call fcn.00413420
mov edi, dword [ebp - 0xe4]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x20], eax
or eax, edx
mov dword [ebp - 0x1c], edx
jne 0x416073
xor eax, eax
xor ecx, ecx
xor ebx, ebx
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x18], ecx
cmp esi, eax
jbe 0x41643e
mov edx, dword [ebp - 0x6c]
lea esp, [esp]
cmp byte [edx + eax], bl
je 0x416436
inc ecx
inc eax
cmp eax, esi
jb 0x416430
mov dword [ebp - 0x18], ecx
xor esi, esi
mov dword [ebp - 0x10], esi
test edi, edi
je 0x416505
jmp 0x416450
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x44]
mov ecx, dword [eax + 0x70]
cmp byte [edx + esi], 0
mov eax, dword [ecx + esi*4]
sete cl
mov byte [eax + 0x1c], cl
test cl, cl
je 0x41649c
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx + ebx*8]
mov dword [eax], edx
mov ecx, dword [ecx + ebx*8 + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x94]
mov ecx, dword [edx + ebx*4]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0xa8]
mov cl, byte [edx + ebx]
mov byte [ebp + 0x13], 0
mov byte [eax + 0x1e], cl
inc ebx
jmp 0x4164ca
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp + 0xc]
cmp byte [edx + ecx], 0
sete dl
mov byte [eax + 0x1d], dl
mov edx, dword [ebp - 0x6c]
mov dl, byte [edx + ecx]
inc ecx
mov byte [ebp + 0x13], dl
mov dword [ebp + 0xc], ecx
mov dword [eax], 0
mov dword [eax + 4], 0
mov byte [eax + 0x1e], 0
cmp dword [ebp - 0x18], 0
je 0x4164f9
mov esi, dword [ebp + 8]
lea ecx, [esi + 0x118]
call fcn.0042be70
mov ecx, dword [esi + 0x120]
mov eax, dword [esi + 0x124]
mov dl, byte [ebp + 0x13]
mov byte [eax + ecx], dl
inc dword [esi + 0x120]
mov esi, dword [ebp - 0x10]
inc esi
mov dword [ebp - 0x10], esi
cmp esi, edi
jb 0x416450
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 8
call fcn.0042bf60
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.0042bf60
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 4
call fcn.0042bf60
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 3
call fcn.0042bf60
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 2
call fcn.0042bf60
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0
call fcn.0042bf60
mov dword [ebp - 0x3c], vtable.CObjectVector_class_CBuffer_unsigned_char__.0
mov dword [ebp - 4], 0xd
jmp 0x415e8c