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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov dword [esp + 0x2c], eax
mov ebp, edx
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x78]
mov edx, dword [edx]
mov dword [esp + 0x38], edx
test ecx, ecx
je 0x4247a9
lea ecx, [esp + 0x44]
mov dword [esp + 0x14], ecx
lea ebx, [ebp + 0xbbc]
mov dword [esp + 0x3c], ebx
lea esi, [esi]
mov eax, dword [ebp + 0xbb8]
lea edx, [eax + eax*2]
shl edx, 5
add edx, ebp
mov dword [esp + 0x28], edx
lea eax, [ebp + eax*4 + 0xb40]
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x24]
add esi, 0x28
mov dword [esp + 0x34], esi
mov eax, dword [edx + 0x10]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
test ecx, ecx
jle 0x4247ec
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x18], 0x1e
jmp 0x424736
lea ebx, [eax - 2]
cmp ebx, 1
jbe 0x4247c0
sub eax, 4
cmp eax, 1
jbe 0x424870
cmp ebp, edx
je 0x4247d0
sub edx, 0x60
sub dword [esp + 0x1c], 4
mov esi, dword [esp + 0x20]
test esi, esi
jle 0x4247ec
dec dword [esp + 0x18]
je 0x424796
mov ecx, dword [edx]
mov eax, dword [edi]
cmp ecx, eax
jne 0x4246fc
cmp ecx, 0x10
je 0x4248cc
mov ebx, dword [esp + 0x30]
cmp ebx, dword [edx + 0x10]
jne 0x424796
mov eax, dword [edi + 8]
test eax, eax
je 0x4248e4
mov ebx, dword [esp + 0x1c]
cmp eax, dword [ebx]
je 0x4248e4
cmp ecx, 2
jne 0x424796
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xd4]
test ecx, ecx
jle 0x424796
mov esi, dword [eax + 0xd8]
mov ebx, dword [edx + 0x34]
cmp dword [esi], ebx
je 0x424714
xor eax, eax
jmp 0x424791
cmp dword [esi + eax*4], ebx
je 0x424714
inc eax
cmp eax, ecx
jne 0x42478c
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4246a8
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x78]
mov dword [ebx], esi
mov eax, dword [esp + 0x70]
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
sub ecx, 4
cmp ecx, 1
jbe 0x424796
cmp ebp, edx
jne 0x42471c
lea edx, [ebp + 0xae0]
lea ebx, [ebp + 0xbb4]
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x20]
test esi, esi
jg 0x424730
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x424a84
mov ebx, dword [ecx + 0x20]
mov ecx, 0xc
xor eax, eax
mov edi, dword [esp + 0x14]
rep stosb byte es:[edi], al
mov esi, dword [esp + 0x74]
mov eax, dword [esi]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0x23
xor esi, esi
mov ecx, dword [ebx]
test ecx, ecx
jle 0x424796
mov edi, dword [esp + 0x3c]
jmp 0x42485c
inc edx
je 0x42486b
add eax, 0x10
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp], edi
call dword [ebp + 0xbe8]
test eax, eax
jne 0x424a21
inc esi
cmp dword [ebx], esi
jle 0x424796
mov eax, dword [ebx + esi*4 + 4]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x28]
cmp edx, 1
jne 0x424830
mov eax, dword [eax + 0x10]
jmp 0x424836
sub ecx, 2
cmp ecx, 1
ja 0x424714
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xd4]
test ecx, ecx
jle 0x424796
mov esi, dword [eax + 0xd8]
mov ebx, dword [edx + 0x34]
cmp dword [esi], ebx
je 0x424714
xor eax, eax
jmp 0x4248ad
cmp dword [esi + eax*4], ebx
je 0x424714
inc eax
cmp eax, ecx
jne 0x4248a4
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4246a8
jmp 0x4247a9
mov esi, dword [esp + 0x30]
cmp dword [edx + 0x10], esi
jne 0x424796
mov eax, dword [edi + 8]
test eax, eax
jne 0x42475b
mov eax, dword [ecx*4 + 0x5edb60]
test eax, 0x20007
je 0x4249dc
mov ebx, dword [edx + 0x30]
mov eax, dword [edi + 4]
test eax, eax
je 0x424972
test eax, 0x10000
je 0x424919
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc8]
test ecx, ecx
jne 0x424a15
test eax, 0x20000
je 0x424932
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi + 0xcc]
test ecx, ecx
jne 0x424a09
test ebx, 0x10000
je 0x42494c
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc8]
test ecx, ecx
jne 0x4249fc
test ebx, 0x20000
je 0x424966
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi + 0xcc]
test ecx, ecx
jne 0x4249ef
mov ecx, ebx
and ecx, eax
cmp ecx, eax
jne 0x424796
mov ecx, dword [esp + 0x24]
test byte [ecx + 0x10], 1
je 0x4249ce
mov ebx, dword [esp + 0x28]
mov esi, dword [ebx + 0x1c]
sub esi, dword [edx + 0x1c]
mov eax, dword [ebx + 0x28]
mov ecx, dword [edx + 0x28]
lea ebx, [ecx - 5]
cmp eax, ebx
jl 0x424796
add ecx, 5
cmp eax, ecx
jg 0x424796
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x2c]
mov ecx, dword [edx + 0x2c]
lea ebx, [ecx - 5]
cmp eax, ebx
jl 0x424796
add ecx, 5
cmp eax, ecx
jg 0x424796
cmp esi, 0x1f4
jg 0x424796
add edi, 0xc
dec dword [esp + 0x20]
jmp 0x424714
test al, 8
je 0x4249e8
mov ebx, dword [edx + 0x40]
jmp 0x4248f9
xor ebx, ebx
jmp 0x4248f9
and ebx, 0xfffdffff
or ebx, ecx
jmp 0x424966
and ebx, 0xfffeffff
or ebx, ecx
jmp 0x42494c
and eax, 0xfffdffff
or eax, ecx
jmp 0x424932
and eax, 0xfffeffff
or eax, ecx
jmp 0x424919
mov ebx, dword [eax + 0xc]
cmp dword [ebx], 1
je 0x424a8a
mov dword [esp], str.MatchPattern:_badly_constructed_virtual_event
mov eax, dword [0x67bad4]
call dword [eax + 0x10]
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x424af2
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx]
mov eax, dword [esp + 0x70]
cmp edi, dword [eax]
je 0x424a93
jl 0x424796
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x38], ebx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4246a8
jmp 0x4247a9
mov dword [esp + 0x18], ecx
jmp 0x424a3c
mov edx, dword [ebx + 0x18]
test edx, edx
jne 0x424a29
jmp 0x424a38
mov eax, dword [esp + 0x70]
add eax, 0x28
test edi, edi
jle 0x424796
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x30]
mov ebx, dword [esp + 0x70]
cmp edx, dword [ebx + 0x30]
jne 0x424b0b
xor ebx, ebx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], ebp
jmp 0x424ac8
mov edx, dword [ecx + 8]
cmp edx, dword [eax + 8]
jne 0x424b07
mov esi, dword [ecx + 4]
mov edx, dword [eax + 4]
cmp esi, edx
je 0x424ade
mov ebp, edx
and ebp, esi
cmp esi, ebp
je 0x424ae9
cmp edx, ebp
je 0x424b18
inc ebx
add ecx, 0xc
add eax, 0xc
cmp ebx, edi
jne 0x424ac0
mov ebp, dword [esp + 0x1c]
jmp 0x424796
mov esi, dword [esp + 0x18]
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
jmp 0x424796
mov ebp, dword [esp + 0x1c]
test edx, edx
jne 0x424a5c
jmp 0x424796
mov ebp, dword [esp + 0x1c]
jmp 0x424a5c