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

Disassembly:
mov eax, dword fs:[0]
mov edx, dword [esp + 4]
push 0xffffffffffffffff
push 0x72d3f3
push eax
mov dword fs:[0], esp
sub esp, 0x64
push ebx
push ebp
push esi
xor esi, esi
cmp edx, esi
push edi
mov ebp, ecx
je 0x4eb0ac
mov ecx, dword [ebp + 0x44]
mov eax, ecx
cmp eax, esi
mov dword [esp + 0x14], esi
je 0x4e965f
cmp dword [eax], 8
je 0x4e965b
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x4e9649
mov dword [esp + 0x20], esi
jmp 0x4e966c
cmp eax, esi
jne 0x4e9665
mov dword [esp + 0x20], esi
jmp 0x4e966c
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x44]
cmp eax, esi
je 0x4e9687
cmp dword [eax], 8
je 0x4e9683
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x4e9673
xor ebx, ebx
jmp 0x4e968e
cmp eax, esi
jne 0x4e968b
xor ebx, ebx
jmp 0x4e968e
mov ebx, dword [eax + 8]
mov eax, ecx
cmp eax, esi
je 0x4e96a0
cmp dword [eax], 3
je 0x4e96b6
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x4e9694
xor edi, edi
mov eax, ecx
cmp eax, esi
je 0x4e96c0
cmp dword [eax], 5
je 0x4e96ba
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x4e96a8
jmp 0x4e96c0
mov edi, eax
jmp 0x4e96a2
mov dword [esp + 0x1c], eax
jmp 0x4e96c4
mov dword [esp + 0x1c], esi
mov ecx, 0x7cb478
call fcn.004d51b0
mov esi, eax
mov al, byte [ebx + 0xdd]
cmp al, 0x13
mov dword [esp + 0x18], esi
je 0x4eb0ac
cmp al, 0x12
je 0x4eb0ac
test ebx, ebx
je 0x4e9703
mov ecx, ebx
call fcn.0052d200
mov eax, dword [ebx + 0x348]
test eax, eax
jg 0x4eb0ac
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + 0x28]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x4e972a
mov edx, dword [esp + 0x84]
mov eax, dword [edx + 0x28]
mov dword [esp + 0x14], eax
push 9
mov ecx, ebp
call fcn.004e4bc0
test eax, eax
je 0x4e973c
mov eax, dword [eax + 8]
jmp 0x4e9741
mov eax, 1
test al, 1
je 0x4eaf4a
mov ecx, dword [ebp + 0x28]
add ecx, 4
mov byte [esp + 0x13], 0
call fcn.004ee8b0
cmp eax, 0x524f4f44
jg 0x4ea473
je 0x4e9dd7
cmp eax, 0x41455243
je 0x4e9b5c
cmp eax, 0x49544341
je 0x4e9818
cmp eax, 0x4b4f4f42
jne 0x4ea489
test ebx, ebx
je 0x4e97c8
mov ecx, dword [ebx + 0x10]
shr ecx, 0xa
test cl, 1
je 0x4e97c8
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp eax, ebx
jne 0x4eb0ac
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 3
idiv ecx
test edx, edx
jne 0x4ea510
jmp 0x4ea4c4
cmp byte [esp + 0x88], 1
jne 0x4ea489
mov edx, dword [0x7c67dc]
mov al, byte [edx + 0xd6]
test al, al
jne 0x4e980a
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
je 0x4e9804
mov dword [0x7d5ef4], ebp
mov ecx, dword [ebp + 0x28]
push ebx
call fcn.004a2700
jmp 0x4eb0ac
mov dword [0x7d2b24], ebp
mov ecx, dword [ebp + 0x28]
push ebx
call fcn.004a2700
jmp 0x4eb0ac
test ebx, ebx
je 0x4e9891
mov ecx, dword [ebx + 0x10]
shr ecx, 0xa
test cl, 1
je 0x4e9891
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp eax, ebx
jne 0x4eb0ac
mov ecx, dword [0x7c67dc]
mov edi, dword [ecx + 0x34]
call fcn.0040ff20
xor edx, edx
mov dl, byte [edi + 0x290]
xor ecx, ecx
mov cl, byte [edi + 0x298]
mov ebp, eax
mov eax, 0x10624dd3
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [ebp + 0x14]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ecx
mov ecx, dword [0x7c67e0]
push str.WolfActivator1
call fcn.0048bcb0
jmp 0x4eaf7d
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov edx, dword [esp + 0x14]
cmp dword [eax + 0x560], edx
jne 0x4e9b4c
mov ecx, dword [ebp + 0x44]
mov eax, ecx
test eax, eax
je 0x4e9b4c
cmp dword [eax], 6
je 0x4e98d5
mov eax, dword [eax + 4]
test eax, eax
jne 0x4e98b9
mov ecx, dword [ebp + 0x28]
mov edx, dword [ecx]
call dword [edx + 0xf0]
jmp 0x4eb0ac
test eax, eax
je 0x4e9b4c
mov edx, dword [eax + 8]
test edx, edx
je 0x4e9b4c
mov eax, ecx
test eax, eax
je 0x4e98fa
cmp dword [eax], 6
je 0x4e9930
mov eax, dword [eax + 4]
test eax, eax
jne 0x4e98ee
xor eax, eax
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4e9b4c
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, eax
call fcn.00521610
mov edi, eax
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4e9942
cmp dword [eax], 6
je 0x4e9939
mov eax, dword [eax + 4]
test eax, eax
jne 0x4e9922
jmp 0x4e9942
test eax, eax
je 0x4e98fa
mov eax, dword [eax + 8]
jmp 0x4e98fc
test eax, eax
je 0x4e9942
mov esi, dword [eax + 8]
jmp 0x4e9944
xor esi, esi
mov ecx, dword [esi + 4]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x5f43504e
jne 0x4e997b
mov eax, dword [edi + 0x6c]
cmp dword [esi + 4], eax
je 0x4e997b
mov esi, dword [esi + 8]
test esi, esi
je 0x4e99af
fld dword [esi + 0x34]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
je 0x4e9b4c
jmp 0x4e99af
mov ecx, dword [esi + 4]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x54434146
jne 0x4e9b4c
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4e99af
test byte [ecx + 0x29c], 1
je 0x4e99af
call fcn.004ad880
cmp dword [esi + 8], eax
jle 0x4e9b4c
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4e99c6
cmp dword [eax], 6
je 0x4e9a9f
mov eax, dword [eax + 4]
test eax, eax
jne 0x4e99b6
mov dword [esp + 0x88], 0
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov esi, eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x20], esi
call fcn.0051f250
xor edi, edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x60], esi
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edi
fild qword [esp + 0x24]
mov ecx, esi
mov dword [esp + 0x38], 6
fstp dword [esp + 0x3c]
call fcn.0055fe60
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x54], edx
mov eax, dword [eax + 8]
or ecx, 0xffffffff
mov dword [esp + 0x58], eax
xor eax, eax
mov edi, str.trespass
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
push 1
push ebx
lea ecx, [esp + 0x48]
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x4e9a79
mov edi, dword [esp + 0x44]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
mov esi, str.trespass
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x48], ebx
mov byte [eax + ebx], 0
mov edi, dword [esp + 0x88]
mov dword [esp + 0x64], esi
mov ecx, dword [edi + 4]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x54434146
mov ecx, dword [edi + 4]
jne 0x4e9ab6
mov dword [esp + 0x68], ecx
jmp 0x4e9ac3
test eax, eax
je 0x4e99c6
mov eax, dword [eax + 8]
mov dword [esp + 0x88], eax
jmp 0x4e99d1
test ecx, ecx
je 0x4e9ac3
mov edx, dword [ecx]
call dword [edx + 0x68]
mov dword [esp + 0x68], eax
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x5c]
mov edx, dword [esp + 0x60]
mov ecx, dword [ecx + 0x24]
push 1
push edx
call fcn.00570a60
test al, al
je 0x4e9af8
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x5c]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x64]
mov ecx, dword [ecx + 0x24]
push edx
push eax
call fcn.005704b0
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4e9b3b
mov edi, dword [esi + 0x1b0]
mov edx, dword [edi + 4]
add esi, 0x1ac
push edx
push edi
mov ecx, esi
call fcn.004ec3e0
mov dword [edi + 4], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
lea ecx, [esp + 0x38]
push ecx
add eax, 8
push eax
call fcn.004ec740
mov eax, dword [esi + 8]
add esp, 8
inc eax
mov dword [esi + 8], eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x7c], 0xffffffff
call fcn.0051f580
mov ecx, dword [ebp + 0x28]
mov edx, dword [ecx]
call dword [edx + 0xf0]
jmp 0x4eb0ac
test ebx, ebx
je 0x4e9c77
mov eax, dword [ebx + 0x10]
shr eax, 0xa
test al, 1
je 0x4e9c77
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp eax, ebx
jne 0x4eb0ac
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 3
idiv ecx
test edx, edx
jne 0x4e9be3
mov ecx, dword [0x7c67dc]
mov edi, dword [ecx + 0x34]
call fcn.0040ff20
xor edx, edx
mov dl, byte [edi + 0x290]
xor ecx, ecx
mov cl, byte [edi + 0x298]
mov esi, eax
mov eax, 0x10624dd3
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [esi + 0x14]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ecx
push str.WolfCreature1
jmp 0x4eacb1
cmp edx, 1
mov ecx, dword [0x7c67dc]
mov edi, dword [ecx + 0x34]
jne 0x4e9c34
call fcn.0040ff20
xor edx, edx
mov dl, byte [edi + 0x290]
xor ecx, ecx
mov cl, byte [edi + 0x298]
mov esi, eax
mov eax, 0x10624dd3
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [esi + 0x14]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ecx
push str.WolfCreature2
jmp 0x4eacb1
call fcn.0040ff20
xor edx, edx
mov dl, byte [edi + 0x290]
xor ecx, ecx
mov cl, byte [edi + 0x298]
mov esi, eax
mov eax, 0x10624dd3
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [esi + 0x14]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ecx
push str.WolfCreature3
jmp 0x4eacb1
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov edx, dword [esp + 0x14]
cmp dword [eax + 0x560], edx
jne 0x4eb0ac
mov esi, dword [esp + 0x20]
mov al, byte [esi + 0xdd]
cmp al, 0x13
je 0x4e9ca4
cmp al, 0x12
jne 0x4e9ccf
push 0
push esi
call fcn.0056be30
xor eax, eax
mov ax, word [0x7d3098]
push eax
call fcn.00595230
mov ecx, dword [ebp + 0x28]
push 0
push esi
push ebp
push ecx
call fcn.005b4220
add esp, 0x1c
jmp 0x4eb0ac
cmp byte [esi + 0xdc], 3
jne 0x4e9cf7
mov ecx, dword [0x7c67dc]
push 1
push 0
push 0x3d
call fcn.0040f930
push eax
call fcn.005f90c0
add esp, 0xc
jmp 0x4eb0ac
mov ecx, esi
call fcn.00529260
call fcn.005c0840
test al, al
jne 0x4eb0ac
mov ecx, dword [ebp + 0x44]
mov eax, ecx
test eax, eax
je 0x4eb0ac
cmp dword [eax], 6
je 0x4e9d29
mov eax, dword [eax + 4]
test eax, eax
jne 0x4e9d18
jmp 0x4eb0ac
test eax, eax
je 0x4eb0ac
mov eax, dword [eax + 8]
test eax, eax
je 0x4eb0ac
mov edx, dword [eax + 0x14]
test edx, edx
je 0x4eb0ac
mov eax, ecx
test eax, eax
je 0x4e9d59
cmp dword [eax], 6
je 0x4e9d8c
mov eax, dword [eax + 4]
test eax, eax
jne 0x4e9d4d
xor eax, eax
lea edx, [esp + 0x88]
push edx
push str.Companion
mov ecx, eax
call fcn.0050e7b0
cmp al, 0x73
jne 0x4eb0ac
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4e9dac
cmp dword [eax], 6
je 0x4e9d9c
mov eax, dword [eax + 4]
test eax, eax
jne 0x4e9d7e
jmp 0x4e9dac
test eax, eax
je 0x4e9d59
mov eax, dword [eax + 8]
test eax, eax
je 0x4e9d59
mov eax, dword [eax + 0x14]
jmp 0x4e9d5b
test eax, eax
je 0x4e9dac
mov eax, dword [eax + 8]
test eax, eax
je 0x4e9dac
mov eax, dword [eax + 0x18]
jmp 0x4e9dae
xor eax, eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x88]
cmp word [eax + ecx*2], 0
jle 0x4eb0ac
mov edx, dword [ebp + 0x28]
push 0
push esi
push ebp
push edx
call fcn.005b4220
add esp, 0x10
jmp 0x4eb0ac
test edi, edi
je 0x4e9feb
mov eax, dword [edi + 8]
test eax, eax
je 0x4e9e86
test byte [eax + 0xc], 1
je 0x4e9e86
mov eax, dword [eax + 4]
test eax, eax
je 0x4e9e86
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4e9e86
mov esi, ecx
push eax
lea ecx, [esi + 0x3c]
call fcn.0049a680
test al, al
je 0x4e9e86
mov eax, dword [edi + 8]
and dword [eax + 0xc], 0xfffffffe
mov eax, dword [ebp]
push 1
mov ecx, ebp
mov byte [esp + 0x17], 1
call dword [eax + 0x14]
mov ecx, dword [0x7c6cdc]
call fcn.0041cd00
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp dword [eax + 0x560], esi
jne 0x4e9e86
mov ecx, dword [edi + 8]
mov esi, dword [ecx + 4]
mov ecx, dword [0x7c67dc]
push 0x1ce
call fcn.0040f930
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x38]
mov esi, dword [esp + 0x1c]
push eax
push 0x793130
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
push 1
push 0
push esi
call fcn.005f90c0
add esp, 0x1c
mov eax, dword [edi + 8]
test byte [eax + 0xc], 1
je 0x4e9edb
mov eax, dword [0x7c67dc]
mov eax, dword [eax + 0x34]
xor edx, edx
mov dl, byte [eax + 0x290]
xor ecx, ecx
mov cl, byte [eax + 0x298]
mov eax, 0x10624dd3
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [0x7c67e0]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ebp
push str.LockedDoor
call fcn.0048bcb0
jmp 0x4eb0ac
test eax, eax
je 0x4e9feb
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4e9feb
mov dl, byte [esp + 0x13]
test dl, dl
jne 0x4e9f87
mov edx, dword [esp + 0x84]
mov eax, dword [ecx]
push edx
push 0x42c80000
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x70]
push eax
push ebp
call fcn.00454930
mov edx, dword [edi + 8]
mov dword [edx + 8], 0
mov ecx, dword [0x7c6cdc]
call fcn.0041cd00
mov eax, dword [0x7c67dc]
mov eax, dword [eax + 0x34]
xor edx, edx
mov dl, byte [eax + 0x290]
xor ecx, ecx
mov cl, byte [eax + 0x298]
mov eax, 0x10624dd3
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [0x7c67e0]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ebp
push str.Open_Lock_Fail
call fcn.0048bcb0
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx + 0x14]
jmp 0x4eb0ac
mov dword [eax + 8], 0
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax + 0x14]
mov ecx, dword [0x7c6cdc]
call fcn.0041cd00
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x34]
xor edx, edx
mov dl, byte [eax + 0x290]
xor ecx, ecx
mov cl, byte [eax + 0x298]
mov eax, 0x10624dd3
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [0x7c67e0]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ebp
push str.Disarm_Trap
call fcn.0048bcb0
mov eax, dword [ebp + 0x28]
mov esi, dword [eax + 0x78]
mov edi, dword [eax + 0x7c]
mov eax, dword [esp + 0x1c]
test eax, eax
mov dword [esp + 0x88], esi
je 0x4ea186
mov ecx, dword [0x7c67dc]
mov edi, dword [ecx + 0x34]
call fcn.0040ff20
xor edx, edx
mov dl, byte [edi + 0x290]
xor ecx, ecx
mov cl, byte [edi + 0x298]
mov esi, eax
mov eax, 0x10624dd3
push 0
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [esi + 0x14]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
mov edx, dword [esp + 0x98]
push 0
push ecx
mov ecx, dword [0x7c67e0]
push edx
call fcn.0048bd40
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp ebx, eax
jne 0x4ea144
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x38]
add eax, 0x38
mov dword [0x7d1580], ecx
mov edx, dword [eax + 4]
mov dword [0x7d1584], edx
mov eax, dword [eax + 8]
mov ecx, ebx
mov dword [0x7d1588], eax
call fcn.00521b50
cmp dword [eax + 4], 1
mov eax, dword [esi + 8]
jbe 0x4ea0f5
mov ecx, dword [eax]
push ecx
mov ecx, dword [eax + 8]
call fcn.0045e5c0
sub esp, 0xc
add eax, 4
mov ecx, esp
mov dword [esp + 0x98], esp
push eax
call fcn.0040a7e0
mov edx, dword [esi + 8]
mov ecx, dword [edx + 8]
call fcn.0045e5c0
sub esp, 0xc
add eax, 0x10
mov ecx, esp
mov dword [esp + 0xa4], esp
push eax
call fcn.0040a7e0
call fcn.0045c9b0
add esp, 0x1c
jmp 0x4eb0ac
mov ecx, dword [eax]
push 1
push ecx
mov ecx, dword [eax + 8]
call fcn.0045e5c0
sub esp, 0xc
add eax, 4
mov ecx, esp
mov dword [esp + 0x9c], esp
push eax
call fcn.0040a7e0
mov edx, dword [esi + 8]
mov ecx, dword [edx + 8]
call fcn.0045e5c0
sub esp, 0xc
add eax, 0x10
mov ecx, esp
mov dword [esp + 0xa8], esp
push eax
call fcn.0040a7e0
call fcn.0045cef0
add esp, 0x20
jmp 0x4eb0ac
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
fld dword [ecx + 0x34]
fmul dword [0x74a280]
push 1
push edx
push ecx
fstp dword [esp]
call fcn.0045e5c0
sub esp, 0xc
add eax, 0x10
mov ecx, esp
mov dword [esp + 0xa0], esp
push eax
call fcn.0040a7e0
mov ecx, ebx
call fcn.0052bfc0
jmp 0x4eb0ac
push 9
mov ecx, ebp
call fcn.004e4bc0
test eax, eax
je 0x4ea198
mov eax, dword [eax + 8]
jmp 0x4ea19d
mov eax, 1
test ah, 8
mov ebx, 0x100
je 0x4ea1f9
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4ea1c0
cmp dword [eax], 9
je 0x4ea1bc
mov eax, dword [eax + 4]
test eax, eax
jne 0x4ea1ae
jmp 0x4ea1c0
test eax, eax
jne 0x4ea1c7
mov ecx, ebp
call fcn.004e5480
and dword [eax + 8], 0xfffff7ff
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4ea1e7
cmp dword [eax], 9
je 0x4ea1e3
mov eax, dword [eax + 4]
test eax, eax
jne 0x4ea1d5
jmp 0x4ea1e7
test eax, eax
jne 0x4ea1ee
mov ecx, ebp
call fcn.004e5480
mov ecx, dword [eax + 8]
or ecx, 0x200
jmp 0x4ea261
push 9
mov ecx, ebp
call fcn.004e4bc0
test eax, eax
je 0x4ea20b
mov eax, dword [eax + 8]
jmp 0x4ea210
mov eax, 1
test ah, 4
je 0x4ea264
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4ea22e
cmp dword [eax], 9
je 0x4ea22a
mov eax, dword [eax + 4]
test eax, eax
jne 0x4ea21c
jmp 0x4ea22e
test eax, eax
jne 0x4ea235
mov ecx, ebp
call fcn.004e5480
and dword [eax + 8], 0xfffffbff
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4ea255
cmp dword [eax], 9
je 0x4ea251
mov eax, dword [eax + 4]
test eax, eax
jne 0x4ea243
jmp 0x4ea255
test eax, eax
jne 0x4ea25c
mov ecx, ebp
call fcn.004e5480
mov ecx, dword [eax + 8]
or ecx, ebx
mov dword [eax + 8], ecx
push 9
mov ecx, ebp
call fcn.004e4bc0
test eax, eax
je 0x4ea276
mov eax, dword [eax + 8]
jmp 0x4ea27b
mov eax, 1
test ah, 8
jne 0x4eb0ac
push 9
mov ecx, ebp
call fcn.004e4bc0
test eax, eax
je 0x4ea296
mov eax, dword [eax + 8]
jmp 0x4ea29b
mov eax, 1
test ah, 4
jne 0x4eb0ac
push 9
mov ecx, ebp
call fcn.004e4bc0
test eax, eax
je 0x4ea2b6
mov eax, dword [eax + 8]
jmp 0x4ea2bb
mov eax, 1
test ah, 2
jne 0x4ea3c9
push 9
mov ecx, ebp
call fcn.004e4bc0
test eax, eax
je 0x4ea2d6
mov eax, dword [eax + 8]
jmp 0x4ea2db
mov eax, 1
test ebx, eax
jne 0x4ea326
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4ea2f8
cmp dword [eax], 0xa
je 0x4ea2f4
mov eax, dword [eax + 4]
test eax, eax
jne 0x4ea2e6
jmp 0x4ea2f8
test eax, eax
jne 0x4ea2ff
mov ecx, ebp
call fcn.004e5850
add eax, 0x14
push eax
lea ecx, [esp + 0x30]
call fcn.0040a7e0
fld dword [ebp + 0x34]
fsub dword [esp + 0x34]
fabs
fcomp qword [0x747610]
fnstsw ax
test ah, 0x41
jne 0x4ea3c9
test esi, esi
je 0x4ea331
mov ecx, esi
call fcn.00510bc0
mov eax, dword [0x7c67dc]
mov eax, dword [eax + 0x34]
xor edx, edx
mov dl, byte [eax + 0x290]
xor ecx, ecx
mov cl, byte [eax + 0x298]
mov eax, 0x10624dd3
push 0
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [0x7c67e0]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ebp
push edi
call fcn.0048bd40
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4ea38f
cmp dword [eax], 9
je 0x4ea38b
mov eax, dword [eax + 4]
test eax, eax
jne 0x4ea37d
jmp 0x4ea38f
test eax, eax
jne 0x4ea396
mov ecx, ebp
call fcn.004e5480
and dword [eax + 8], 0xfffffeff
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4ea3b6
cmp dword [eax], 9
je 0x4ea3b2
mov eax, dword [eax + 4]
test eax, eax
jne 0x4ea3a4
jmp 0x4ea3b6
test eax, eax
jne 0x4ea3bd
mov ecx, ebp
call fcn.004e5480
or dword [eax + 8], 0x200
jmp 0x4eb0ac
test edi, edi
je 0x4ea3d4
mov ecx, edi
call fcn.00510bc0
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x34]
xor edx, edx
mov dl, byte [eax + 0x290]
xor ecx, ecx
mov cl, byte [eax + 0x298]
mov eax, 0x10624dd3
push 0
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [0x7c67e0]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ebp
push esi
call fcn.0048bd40
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4ea433
cmp dword [eax], 9
je 0x4ea42f
mov eax, dword [eax + 4]
test eax, eax
jne 0x4ea421
jmp 0x4ea433
test eax, eax
jne 0x4ea43a
mov ecx, ebp
call fcn.004e5480
or dword [eax + 8], ebx
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4ea456
cmp dword [eax], 9
je 0x4ea452
mov eax, dword [eax + 4]
test eax, eax
jne 0x4ea444
jmp 0x4ea456
test eax, eax
jne 0x4ea45d
mov ecx, ebp
call fcn.004e5480
and dword [eax + 8], 0xfffffdff
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx + 0x14]
jmp 0x4eb0ac
cmp eax, 0x544e4f43
je 0x4eabec
cmp eax, 0x5f43504e
je 0x4eaa04
test ebx, ebx
je 0x4eb0ac
mov eax, dword [ebx + 0x10]
shr eax, 0xa
test al, 1
je 0x4ea5da
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp eax, ebx
jne 0x4eb0ac
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 3
idiv ecx
test edx, edx
jne 0x4ea510
mov ecx, dword [0x7c67dc]
mov edi, dword [ecx + 0x34]
call fcn.0040ff20
xor edx, edx
mov dl, byte [edi + 0x290]
xor ecx, ecx
mov cl, byte [edi + 0x298]
mov esi, eax
mov eax, 0x10624dd3
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [esi + 0x14]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ecx
push str.WolfItem1
jmp 0x4ea59c
cmp edx, 1
mov ecx, dword [0x7c67dc]
mov edi, dword [ecx + 0x34]
jne 0x4ea55e
call fcn.0040ff20
xor edx, edx
mov dl, byte [edi + 0x290]
xor ecx, ecx
mov cl, byte [edi + 0x298]
mov esi, eax
mov eax, 0x10624dd3
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [esi + 0x14]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ecx
push str.WolfItem2
jmp 0x4ea59c
call fcn.0040ff20
xor edx, edx
mov dl, byte [edi + 0x290]
xor ecx, ecx
mov cl, byte [edi + 0x298]
mov esi, eax
mov eax, 0x10624dd3
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [esi + 0x14]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ecx
push str.WolfItem3
mov ecx, dword [0x7c67e0]
call fcn.0048bcb0
mov ecx, dword [0x7c67dc]
push 0x24e
call fcn.0040f930
mov esi, dword [esp + 0x18]
push eax
push 0x775998
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
push 1
push 0
push esi
call fcn.005f90c0
add esp, 0x18
jmp 0x4eb0ac
mov ecx, dword [0x7c67dc]
mov edi, 1
mov dword [esp + 0x1c], edi
call fcn.0040ff20
mov eax, dword [eax + 0x560]
cmp eax, dword [esp + 0x14]
jne 0x4ea93a
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x2e4]
call fcn.00596810
test al, al
je 0x4eb0ac
lea eax, [esp + 0x1c]
push eax
push ebp
mov ecx, ebx
call fcn.0052c010
mov ecx, dword [ebp + 0x28]
xor ebx, ebx
push ebx
push ebx
push ecx
mov ecx, dword [0x7c67dc]
call fcn.00411050
push 0x44
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x24], eax
cmp eax, ebx
mov dword [esp + 0x7c], edi
je 0x4ea656
mov ecx, eax
call fcn.00631350
jmp 0x4ea658
xor eax, eax
mov edx, dword [esp + 0x1c]
push edx
push ebx
push 2
push ebp
mov ecx, eax
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x94], eax
call fcn.00631680
mov eax, dword [esp + 0x84]
mov dword [eax + 0x18], ebx
mov eax, dword [esp + 0x84]
xor dword [eax + 0x18], edi
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x2e8]
mov eax, dword [ecx + 8]
lea edx, [esp + 0x84]
push edx
push edi
push eax
call fcn.004228a0
mov eax, dword [ebp + 0x44]
cmp eax, ebx
je 0x4ea6c8
cmp dword [eax], 6
je 0x4ea6c1
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x4ea6b3
jmp 0x4ea6c8
cmp eax, ebx
je 0x4ea6c8
mov dword [eax + 8], ebx
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 4]
cmp ecx, ebx
je 0x4ea711
cmp dword [ecx + 0x14], ebx
je 0x4ea711
mov eax, ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [eax + 0x14]
push str.OnPCAdd
call fcn.0050e7b0
cmp al, 0x73
jne 0x4ea70a
mov edx, dword [esp + 0x84]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx]
mov eax, dword [esp + 0x14]
mov word [edx + eax*2], di
mov eax, dword [esp + 0x84]
mov ecx, dword [0x7c67dc]
mov dl, byte [ecx + 0xd6]
test dl, dl
je 0x4ea740
mov dl, byte [esp + 0x88]
test dl, dl
je 0x4ea740
push ebx
push eax
call fcn.005d14f0
add esp, 8
call fcn.005ce080
jmp 0x4ea947
mov ecx, dword [ecx + 0x2e8]
push eax
call fcn.00632fc0
cmp eax, ebx
je 0x4ea76f
mov ecx, dword [esp + 0x84]
cmp eax, ecx
jne 0x4ea76f
push ecx
push edi
call fcn.005cbcc0
add esp, 8
call fcn.005ce080
jmp 0x4ea947
xor ecx, ecx
mov cx, word [0x7d3988]
mov dword [esp + 0x84], eax
mov edi, dword [eax + 0x10]
push ecx
call fcn.00595370
add esp, 4
mov ecx, eax
mov dword [esp + 0x24], eax
call fcn.00583b60
test edi, edi
je 0x4ea933
xor edx, edx
mov dx, word [0x7d3966]
mov ecx, edi
push edx
call fcn.00582de0
mov ebx, eax
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 0xc]
push ecx
push 0x775d8c
push esi
mov dword [esp + 0x2c], ebx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov edx, dword [esp + 0x90]
mov eax, dword [edx + 0xc]
add esp, 0xc
cmp eax, 1
jle 0x4ea928
test ebx, ebx
je 0x4ea85c
mov esi, dword [esp + 0x18]
sub esp, 0x10
mov ebx, esp
mov dword [esp + 0x98], esp
mov al, byte [esp + 0x98]
mov byte [ebx], al
xor eax, eax
or ecx, 0xffffffff
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov dword [esp + 0x9c], ecx
push ecx
mov ecx, ebx
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x4ea84e
mov eax, dword [esp + 0x98]
mov edi, dword [ebx + 4]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov byte [ecx + eax], 0
mov ecx, dword [esp + 0x30]
call fcn.00580d20
jmp 0x4ea928
cmp eax, 1
jle 0x4ea928
mov edx, dword [esp + 0x18]
xor eax, eax
mov ax, word [0x7d3966]
push 0
push 0
push edx
mov ecx, edi
push eax
call fcn.00588be0
mov esi, eax
mov eax, 0x3f800000
mov dword [esi + 0x120], eax
mov dword [esi + 0x124], eax
push 0x10
mov eax, 0xffff80cd
push eax
push 0xffff8035
mov ecx, esi
call fcn.00581f30
push 0x10
mov eax, 0xffff80cd
push eax
push 0xffff8063
mov ecx, esi
call fcn.00581f30
xor ecx, ecx
mov cx, word [0x7d3a70]
push 0x10
mov eax, 0xffff80cd
push eax
push ecx
mov ecx, esi
call fcn.00581f30
xor edx, edx
mov dx, word [0x7d396c]
push 0x10
mov eax, 0xffff80cd
push eax
mov ecx, esi
push edx
call fcn.00581f30
push 0x10
mov eax, 0xffff80cd
push eax
xor eax, eax
mov ax, word [0x7d39c8]
mov ecx, esi
push eax
call fcn.00581f30
xor ecx, ecx
mov cx, word [0x7d3966]
push 0x10
mov eax, 0xffff80cd
push eax
push ecx
mov ecx, esi
call fcn.00581f30
push 0xffff8101
mov ecx, esi
call fcn.0057f5b0
mov ecx, dword [esp + 0x24]
push 1
call fcn.00583b70
call fcn.005ce080
jmp 0x4ea947
lea edx, [esp + 0x1c]
push edx
push ebp
mov ecx, ebx
call fcn.0052c010
test byte [ebp + 8], 1
jne 0x4ea9b3
mov ecx, ebp
call fcn.004eee40
test eax, eax
je 0x4ea96a
mov ecx, ebp
call fcn.004eee40
mov ecx, eax
call fcn.004b6200
test al, al
je 0x4ea9b3
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4ea97d
cmp dword [eax], 9
je 0x4ea994
mov eax, dword [eax + 4]
test eax, eax
jne 0x4ea971
mov eax, 1
test al, 2
je 0x4ea99d
push 1
mov ecx, ebp
call fcn.004eec70
jmp 0x4eb0ac
test eax, eax
je 0x4ea97d
mov eax, dword [eax + 8]
jmp 0x4ea982
test ebp, ebp
je 0x4eb0ac
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax]
jmp 0x4eb0ac
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx + 0x14]
push 1
mov ecx, ebp
call fcn.004eec70
mov eax, dword [ebp]
push 0
mov ecx, ebp
call dword [eax + 0x11c]
mov ebp, dword [ebp + 0x44]
test ebp, ebp
je 0x4eb0ac
cmp dword [ebp], 6
je 0x4ea9f0
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x4ea9de
jmp 0x4eb0ac
test ebp, ebp
je 0x4eb0ac
mov dword [ebp + 8], 0
jmp 0x4eb0ac
test ebx, ebx
je 0x4eab20
mov ecx, dword [ebx + 0x10]
shr ecx, 0xa
test cl, 1
je 0x4eab20
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp eax, ebx
jne 0x4eb0ac
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 3
idiv ecx
test edx, edx
jne 0x4eaa8c
mov ecx, dword [0x7c67dc]
mov edi, dword [ecx + 0x34]
call fcn.0040ff20
xor edx, edx
mov dl, byte [edi + 0x290]
xor ecx, ecx
mov cl, byte [edi + 0x298]
mov esi, eax
mov eax, 0x10624dd3
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [esi + 0x14]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ecx
push str.WolfNPC1
jmp 0x4eacb1
cmp edx, 1
mov ecx, dword [0x7c67dc]
mov edi, dword [ecx + 0x34]
jne 0x4eaadd
call fcn.0040ff20
xor edx, edx
mov dl, byte [edi + 0x290]
xor ecx, ecx
mov cl, byte [edi + 0x298]
mov esi, eax
mov eax, 0x10624dd3
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [esi + 0x14]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ecx
push str.WolfNPC2
jmp 0x4eacb1
call fcn.0040ff20
xor edx, edx
mov dl, byte [edi + 0x290]
xor ecx, ecx
mov cl, byte [edi + 0x298]
mov esi, eax
mov eax, 0x10624dd3
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [esi + 0x14]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ecx
push str.WolfNPC3
jmp 0x4eacb1
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov edx, dword [esp + 0x14]
cmp dword [eax + 0x560], edx
jne 0x4eb0ac
mov esi, dword [esp + 0x20]
mov al, byte [esi + 0xdd]
cmp al, 0x13
je 0x4e9ca4
cmp al, 0x12
je 0x4e9ca4
cmp byte [esi + 0xdc], 3
nop
nop
mov ecx, esi
call fcn.005275f0
test al, al
jne 0x4eab91
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
push eax
mov ecx, esi
call fcn.00530a20
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
je 0x4e9cd8
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
xor edx, edx
mov dx, word [eax + 8]
shr edx, 0xa
test dl, 1
jne 0x4eabc1
mov ecx, esi
call fcn.005275f0
test al, al
jne 0x4eabc1
mov ecx, esi
call fcn.00529260
jmp 0x4eb0ac
push 0
push esi
call fcn.0056be30
xor eax, eax
mov ax, word [0x7d3098]
push eax
call fcn.00595230
mov ecx, dword [ebp + 0x28]
push 1
push esi
push ebp
push ecx
call fcn.005b4220
add esp, 0x1c
jmp 0x4eb0ac
test ebx, ebx
je 0x4eacdb
mov edx, dword [ebx + 0x10]
shr edx, 0xa
test dl, 1
je 0x4eacdb
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp eax, ebx
jne 0x4eb0ac
call dword [sym.imp.MSVCRT.dll_rand]
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x4eac28
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [0x7c67dc]
mov edi, dword [ecx + 0x34]
jne 0x4eac73
call fcn.0040ff20
mov esi, eax
xor ecx, ecx
mov cl, byte [edi + 0x298]
xor eax, eax
mov al, byte [edi + 0x290]
push 0
push 0x3f800000
imul ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
mov edx, dword [esi + 0x14]
push 0
push edx
push str.WolfContainer1
jmp 0x4eacb1
call fcn.0040ff20
mov esi, eax
xor ecx, ecx
mov cl, byte [edi + 0x298]
xor eax, eax
mov al, byte [edi + 0x290]
push 0
push 0x3f800000
imul ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
mov edx, dword [esi + 0x14]
push 0
push edx
push str.WolfContainer2
mov ecx, dword [0x7c67e0]
call fcn.0048bcb0
mov ecx, dword [0x7c67dc]
push 0x24e
call fcn.0040f930
mov esi, dword [esp + 0x18]
push eax
push 0x775998
jmp 0x4eaf93
test edi, edi
je 0x4eaee5
mov eax, dword [edi + 8]
test eax, eax
je 0x4ead8a
test byte [eax + 0xc], 1
je 0x4ead8a
mov eax, dword [eax + 4]
test eax, eax
je 0x4ead8a
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4ead8a
mov esi, ecx
push eax
lea ecx, [esi + 0x3c]
call fcn.0049a680
test al, al
je 0x4ead8a
mov eax, dword [edi + 8]
and dword [eax + 0xc], 0xfffffffe
mov eax, dword [ebp]
push 1
mov ecx, ebp
mov byte [esp + 0x17], 1
call dword [eax + 0x14]
mov ecx, dword [0x7c6cdc]
call fcn.0041cd00
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp dword [eax + 0x560], esi
jne 0x4ead8a
mov ecx, dword [edi + 8]
mov ebx, dword [ecx + 4]
mov ecx, dword [0x7c67dc]
push 0x1ce
call fcn.0040f930
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x38]
mov ebx, dword [esp + 0x1c]
push eax
push 0x793130
push ebx
call dword [sym.imp.MSVCRT.dll_sprintf]
push 1
push 0
push ebx
call fcn.005f90c0
add esp, 0x1c
mov eax, dword [edi + 8]
test byte [eax + 0xc], 1
je 0x4eaddf
mov eax, dword [0x7c67dc]
mov eax, dword [eax + 0x34]
xor edx, edx
mov dl, byte [eax + 0x290]
xor ecx, ecx
mov cl, byte [eax + 0x298]
mov eax, 0x10624dd3
push 0
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [0x7c67e0]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ebp
push str.LockedChest
call fcn.0048bcb0
jmp 0x4eb0ac
xor esi, esi
cmp eax, esi
je 0x4eaee5
mov ecx, dword [eax + 8]
cmp ecx, esi
je 0x4eaee5
mov dl, byte [esp + 0x13]
test dl, dl
jne 0x4eae88
mov edx, dword [esp + 0x84]
mov eax, dword [ecx]
push edx
push 0x42c80000
call dword [eax + 0x20]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x70]
push eax
push ebp
call fcn.00454930
mov edx, dword [edi + 8]
mov dword [edx + 8], esi
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax + 0x14]
mov ecx, dword [0x7c6cdc]
call fcn.0041cd00
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x34]
xor edx, edx
mov dl, byte [eax + 0x290]
xor ecx, ecx
mov cl, byte [eax + 0x298]
mov eax, 0x10624dd3
push esi
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [0x7c67e0]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push esi
push ebp
push str.Open_Lock_Fail
call fcn.0048bcb0
jmp 0x4eb0ac
mov dword [eax + 8], esi
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx + 0x14]
mov ecx, dword [0x7c6cdc]
call fcn.0041cd00
mov eax, dword [0x7c67dc]
mov eax, dword [eax + 0x34]
xor edx, edx
mov dl, byte [eax + 0x290]
xor ecx, ecx
mov cl, byte [eax + 0x298]
mov eax, 0x10624dd3
push esi
push 0x3f800000
imul ecx, edx
imul ecx
mov ecx, dword [0x7c67e0]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push esi
push ebp
push str.Disarm_Trap
call fcn.0048bcb0
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov ecx, dword [esp + 0x14]
cmp dword [eax + 0x560], ecx
jne 0x4eb0ac
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x2e4]
call fcn.00596810
test al, al
je 0x4eb0ac
mov ecx, dword [ebp + 0x28]
mov eax, dword [ecx]
push ebp
call dword [eax + 0x15c]
xor ecx, ecx
mov cx, word [0x7d3098]
push ecx
call fcn.00595230
mov edx, dword [ebp + 0x28]
push 0
push 0
push ebp
push edx
call fcn.005b4220
add esp, 0x14
jmp 0x4eb0ac
test ebx, ebx
je 0x4eafac
mov eax, dword [ebx + 0x10]
shr eax, 0xa
test al, 1
je 0x4eafac
mov ecx, dword [ebp + 0x28]
add ecx, 4
call fcn.004ee8b0
cmp eax, 0x524f4f44
je 0x4eafac
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
cmp eax, ebx
jne 0x4eb0ac
mov ecx, dword [0x7c67dc]
push 0x24e
call fcn.0040f930
push eax
push 0x775998
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
push 1
push 0
push esi
call fcn.005f90c0
add esp, 0x18
jmp 0x4eb0ac
mov ecx, dword [ebp + 0x44]
mov eax, ecx
test eax, eax
je 0x4eafc7
cmp dword [eax], 9
je 0x4eafc3
mov eax, dword [eax + 4]
test eax, eax
jne 0x4eafb5
jmp 0x4eafc7
test eax, eax
jne 0x4eb025
mov eax, ecx
test eax, eax
je 0x4eafdf
cmp dword [eax], 9
je 0x4eafdb
mov eax, dword [eax + 4]
test eax, eax
jne 0x4eafcd
jmp 0x4eafdf
test eax, eax
jne 0x4eb025
push 0x10
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
xor esi, esi
add esp, 4
cmp eax, esi
je 0x4eb004
mov dword [eax], 9
mov dword [eax + 4], esi
mov dword [eax + 8], 1
mov dword [eax + 0xc], esi
jmp 0x4eb006
xor eax, eax
mov edx, dword [ebp + 0x44]
cmp edx, esi
je 0x4eb022
mov ecx, dword [edx + 4]
cmp ecx, esi
je 0x4eb01d
mov edx, ecx
mov ecx, dword [edx + 4]
cmp ecx, esi
jne 0x4eb014
mov dword [edx + 4], eax
jmp 0x4eb025
mov dword [ebp + 0x44], eax
or dword [eax + 8], 2
mov ecx, dword [ebp + 0x44]
mov eax, ecx
test eax, eax
je 0x4eb044
cmp dword [eax], 9
je 0x4eb040
mov eax, dword [eax + 4]
test eax, eax
jne 0x4eb032
jmp 0x4eb044
test eax, eax
jne 0x4eb0a2
mov eax, ecx
test eax, eax
je 0x4eb05c
cmp dword [eax], 9
je 0x4eb058
mov eax, dword [eax + 4]
test eax, eax
jne 0x4eb04a
jmp 0x4eb05c
test eax, eax
jne 0x4eb0a2
push 0x10
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
xor esi, esi
add esp, 4
cmp eax, esi
je 0x4eb081
mov dword [eax], 9
mov dword [eax + 4], esi
mov dword [eax + 8], 1
mov dword [eax + 0xc], esi
jmp 0x4eb083
xor eax, eax
mov edx, dword [ebp + 0x44]
cmp edx, esi
je 0x4eb09f
mov ecx, dword [edx + 4]
cmp ecx, esi
je 0x4eb09a
mov edx, ecx
mov ecx, dword [edx + 4]
cmp ecx, esi
jne 0x4eb091
mov dword [edx + 4], eax
jmp 0x4eb0a2
mov dword [ebp + 0x44], eax
mov ecx, dword [esp + 0x84]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x74]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x70
ret 8