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

Disassembly:
push 0xffffffffffffffff
push 0x47ddaf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1a0
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0x3c]
mov ecx, dword [edi + 0x44]
xor ebx, ebx
cmp byte [eax + ecx], 8
mov dword [esp + 0xc], ebx
jne 0x402b96
jmp 0x4029d0
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov eax, 1
mov dword [esp + 0x1b4], eax
add dword [edi + 0x44], eax
mov ecx, dword [edi + 0x44]
mov edx, dword [edi]
mov eax, dword [edi + 0x3c]
add ecx, 4
mov dword [esp + 0x68], edx
mov edx, dword [ecx + eax - 4]
mov dword [esp + 0x19c], edx
mov dword [edi + 0x44], ecx
mov esi, dword [ecx + eax]
add ecx, 4
mov dword [edi + 0x44], ecx
mov dword [esp + 0x1a0], esi
mov esi, dword [eax + ecx]
add ecx, 4
cmp esi, ebx
mov dword [edi + 0x44], ecx
jl 0x402a43
lea eax, [edi + 0x1c]
push eax
lea eax, [esp + 0x30]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], esi
call fcn.00409290
mov edx, dword [eax]
mov dword [esp + 0x19c], edx
push edx
lea ecx, [esp + 0x70]
push ecx
call fcn.00402d10
lea edx, [esp + 0x5c]
push edx
push edi
mov eax, esi
call fcn.00402840
mov esi, dword [esp + 0x19c]
cmp esi, 0xffffffff
jle 0x402ada
mov eax, dword [edi]
mov ecx, dword [eax + 0xafc]
sub ecx, dword [eax + 0xaf8]
sar ecx, 2
cmp esi, ecx
jae 0x402bef
mov edx, dword [eax + 0xaf8]
mov eax, dword [edx + esi*4]
mov edx, dword [esp + 0x1a0]
mov dword [esp + 0x60], eax
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
sub esi, ecx
sar esi, 3
cmp esi, edx
jbe 0x402c7e
mov ecx, dword [ecx + edx*8]
lea esi, [edx*8]
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 3
cmp eax, edx
jbe 0x402c7e
mov cx, word [ecx + esi + 4]
or word [esp + 0xc], cx
jmp 0x402b13
mov eax, dword [esp + 0x1a0]
mov ecx, dword [eax*4 + 0x4a4790]
add eax, 0xfffffff4
mov dword [esp + 0x5c], ecx
cmp eax, 0x10
ja case.0x402afb.14
movzx edx, byte [eax + 0x402cf4]
jmp dword [edx*4 + 0x402cec]
mov eax, 0x20
jmp 0x402b0b
xor eax, eax
or dword [esp + 0xc], eax
mov dword [esp + 0x60], ebx
mov eax, dword [edi + 0x44]
mov ecx, dword [edi + 0x3c]
cmp byte [eax + ecx], 9
jne 0x402c83
mov ecx, dword [esp + 0x74]
inc eax
mov dword [edi + 0x44], eax
mov eax, dword [esp + 0x70]
mov dl, 1
cmp eax, ecx
je 0x402b47
mov esi, dword [eax]
cmp byte [esi + 0x18], bl
je 0x402b45
add eax, 4
cmp eax, ecx
jne 0x402b35
jmp 0x402b47
xor dl, dl
mov eax, dword [esp + 0x1bc]
movzx edx, dl
lea ecx, [esp + 0x5c]
mov dword [esp + 0x64], edx
call fcn.004091b0
mov dword [esp + 0x1b4], 0xffffffff
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x402b7a
push eax
call fcn.00456cf3
add esp, 4
mov eax, dword [edi + 0x3c]
mov ecx, dword [edi + 0x44]
cmp byte [eax + ecx], 8
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
je 0x4029d0
mov eax, dword [edi + 0x44]
mov ecx, dword [edi + 0x3c]
cmp byte [eax + ecx], 0xa
je 0x402cc9
push 0x1f
push str.Read_error:_bad_event_list__12_
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
call fcn.00414d30
mov dword [esp + 0x1b4], 6
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x38]
push eax
call fcn.00415340
push 0x4978fc
lea ecx, [esp + 0x38]
push ecx
call fcn.004637cb
lea ecx, [esp + 0xc]
call fcn.00414640
mov byte [esp + 0x1b4], 2
mov edi, dword [edi]
mov edx, dword [edi + 0xafc]
sub edx, dword [edi + 0xaf8]
add edi, 0xaf4
sar edx, 2
push edx
push esi
lea eax, [esp + 0x14]
push str.The_event_list_is_corrupt._n_n_oid:__d__num_objects:__d_
push eax
call fcn.00413e40
mov edx, dword [esp + 0x1c]
mov eax, edx
add esp, 0x10
mov dword [esp + 0x28], 0xf
mov dword [esp + 0x24], ebx
mov byte [esp + 0x14], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x402c44
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.00414d30
mov byte [esp + 0x1b4], 3
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x38]
push edx
call fcn.00415340
push 0x4978fc
lea eax, [esp + 0x38]
push eax
call fcn.004637cb
call fcn.0040a120
push 0x1f
push str.Read_error:_bad_event_list__10_
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
call fcn.00414d30
mov byte [esp + 0x1b4], 4
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x38]
push edx
call fcn.00415340
push 0x4978fc
lea eax, [esp + 0x38]
push eax
call fcn.004637cb
mov ecx, dword [esp + 0x1ac]
inc eax
mov dword [edi + 0x44], eax
mov ax, word [esp + 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x1ac
ret 4