Function at 0x4250a8
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 0x4251e1
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 0x425224
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x18], 0x1e
jmp 0x42516e
lea ebx, [eax - 2]
cmp ebx, 1
jbe 0x4251f8
sub eax, 4
cmp eax, 1
jbe 0x4252a8
cmp ebp, edx
je 0x425208
sub edx, 0x60
sub dword [esp + 0x1c], 4
mov esi, dword [esp + 0x20]
test esi, esi
jle 0x425224
dec dword [esp + 0x18]
je 0x4251ce
mov ecx, dword [edx]
mov eax, dword [edi]
cmp ecx, eax
jne 0x425134
cmp ecx, 0x10
je 0x425304
mov ebx, dword [esp + 0x30]
cmp ebx, dword [edx + 0x10]
jne 0x4251ce
mov eax, dword [edi + 8]
test eax, eax
je 0x42531c
mov ebx, dword [esp + 0x1c]
cmp eax, dword [ebx]
je 0x42531c
cmp ecx, 2
jne 0x4251ce
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xd4]
test ecx, ecx
jle 0x4251ce
mov esi, dword [eax + 0xd8]
mov ebx, dword [edx + 0x34]
cmp dword [esi], ebx
je 0x42514c
xor eax, eax
jmp 0x4251c9
cmp dword [esi + eax*4], ebx
je 0x42514c
inc eax
cmp eax, ecx
jne 0x4251c4
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4250e0
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 0x4251ce
cmp ebp, edx
jne 0x425154
lea edx, [ebp + 0xae0]
lea ebx, [ebp + 0xbb4]
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x20]
test esi, esi
jg 0x425168
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x4254bc
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 0x4251ce
mov edi, dword [esp + 0x3c]
jmp 0x425294
inc edx
je 0x4252a3
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 0x425459
inc esi
cmp dword [ebx], esi
jle 0x4251ce
mov eax, dword [ebx + esi*4 + 4]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x28]
cmp edx, 1
jne 0x425268
mov eax, dword [eax + 0x10]
jmp 0x42526e
sub ecx, 2
cmp ecx, 1
ja 0x42514c
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xd4]
test ecx, ecx
jle 0x4251ce
mov esi, dword [eax + 0xd8]
mov ebx, dword [edx + 0x34]
cmp dword [esi], ebx
je 0x42514c
xor eax, eax
jmp 0x4252e5
cmp dword [esi + eax*4], ebx
je 0x42514c
inc eax
cmp eax, ecx
jne 0x4252dc
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4250e0
jmp 0x4251e1
mov esi, dword [esp + 0x30]
cmp dword [edx + 0x10], esi
jne 0x4251ce
mov eax, dword [edi + 8]
test eax, eax
jne 0x425193
mov eax, dword [ecx*4 + 0x5ff440]
test eax, 0x20007
je 0x425414
mov ebx, dword [edx + 0x30]
mov eax, dword [edi + 4]
test eax, eax
je 0x4253aa
test eax, 0x10000
je 0x425351
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc8]
test ecx, ecx
jne 0x42544d
test eax, 0x20000
je 0x42536a
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi + 0xcc]
test ecx, ecx
jne 0x425441
test ebx, 0x10000
je 0x425384
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc8]
test ecx, ecx
jne 0x425434
test ebx, 0x20000
je 0x42539e
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi + 0xcc]
test ecx, ecx
jne 0x425427
mov ecx, ebx
and ecx, eax
cmp ecx, eax
jne 0x4251ce
mov ecx, dword [esp + 0x24]
test byte [ecx + 0x10], 1
je 0x425406
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 0x4251ce
add ecx, 5
cmp eax, ecx
jg 0x4251ce
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x2c]
mov ecx, dword [edx + 0x2c]
lea ebx, [ecx - 5]
cmp eax, ebx
jl 0x4251ce
add ecx, 5
cmp eax, ecx
jg 0x4251ce
cmp esi, 0x1f4
jg 0x4251ce
add edi, 0xc
dec dword [esp + 0x20]
jmp 0x42514c
test al, 8
je 0x425420
mov ebx, dword [edx + 0x40]
jmp 0x425331
xor ebx, ebx
jmp 0x425331
and ebx, 0xfffdffff
or ebx, ecx
jmp 0x42539e
and ebx, 0xfffeffff
or ebx, ecx
jmp 0x425384
and eax, 0xfffdffff
or eax, ecx
jmp 0x42536a
and eax, 0xfffeffff
or eax, ecx
jmp 0x425351
mov ebx, dword [eax + 0xc]
cmp dword [ebx], 1
je 0x4254c2
mov dword [esp], str.MatchPattern:_badly_constructed_virtual_event
mov eax, dword [0x68bb7c]
call dword [eax + 0x10]
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x42552a
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx]
mov eax, dword [esp + 0x70]
cmp edi, dword [eax]
je 0x4254cb
jl 0x4251ce
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 0x4250e0
jmp 0x4251e1
mov dword [esp + 0x18], ecx
jmp 0x425474
mov edx, dword [ebx + 0x18]
test edx, edx
jne 0x425461
jmp 0x425470
mov eax, dword [esp + 0x70]
add eax, 0x28
test edi, edi
jle 0x4251ce
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x30]
mov ebx, dword [esp + 0x70]
cmp edx, dword [ebx + 0x30]
jne 0x425543
xor ebx, ebx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], ebp
jmp 0x425500
mov edx, dword [ecx + 8]
cmp edx, dword [eax + 8]
jne 0x42553f
mov esi, dword [ecx + 4]
mov edx, dword [eax + 4]
cmp esi, edx
je 0x425516
mov ebp, edx
and ebp, esi
cmp esi, ebp
je 0x425521
cmp edx, ebp
je 0x425550
inc ebx
add ecx, 0xc
add eax, 0xc
cmp ebx, edi
jne 0x4254f8
mov ebp, dword [esp + 0x1c]
jmp 0x4251ce
mov esi, dword [esp + 0x18]
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
jmp 0x4251ce
mov ebp, dword [esp + 0x1c]
test edx, edx
jne 0x425494
jmp 0x4251ce
mov ebp, dword [esp + 0x1c]
jmp 0x425494