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

Disassembly:
push 0xffffffffffffffff
push 0x46a388
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40c
mov al, byte [esp + 3]
push ebx
push ebp
push esi
mov ebx, ecx
xor ebp, ebp
push edi
push ebp
lea ecx, [esp + 0x88]
mov dword [esp + 0x34], ebx
mov byte [esp + 0x88], al
call fcn.00401a10
mov cl, byte [esp + 0x13]
push ebp
mov byte [esp + 0x20], cl
lea ecx, [esp + 0x20]
mov dword [esp + 0x428], ebp
call fcn.00401a10
mov dl, byte [esp + 0x13]
push ebp
lea ecx, [esp + 0x3c]
mov byte [esp + 0x428], 1
mov byte [esp + 0x3c], dl
call fcn.00401a10
mov al, byte [esp + 0x13]
push ebp
lea ecx, [esp + 0x138]
mov byte [esp + 0x428], 2
mov byte [esp + 0x138], al
call fcn.00401a10
mov cl, byte [esp + 0x13]
push ebp
mov byte [esp + 0x58], cl
lea ecx, [esp + 0x58]
mov byte [esp + 0x428], 3
call fcn.00401a10
mov dl, byte [esp + 0x13]
push ebp
lea ecx, [esp + 0x78]
mov byte [esp + 0x428], 4
mov byte [esp + 0x78], dl
call fcn.00401a10
mov eax, dword [ebx + 0x40]
mov byte [esp + 0x424], 5
cmp eax, ebp
jne 0x4251bb
call fcn.00452750
mov esi, eax
call fcn.00452750
mov edi, eax
mov eax, dword [esi]
push ebp
mov ecx, esi
call dword [eax + 0x68]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x64]
push eax
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
mov esi, dword [ebx + 0x40]
lea ecx, [esp + 0x148]
push ecx
push esi
mov eax, dword [esi]
call dword [eax + 0xdc]
cmp eax, ebp
jge 0x4251df
push 0x4791d8
push esi
push eax
call fcn.0045c300
cmp dword [esp + 0x148], ebp
jne 0x4278b0
mov ecx, dword [ebx + 0x40]
lea edx, [esp + 0x144]
push edx
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 6
cmp ecx, ebp
je 0x425213
call fcn.004187b0
mov edx, eax
jmp 0x425215
xor edx, edx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x13c]
call fcn.00401a60
lea ecx, [esp + 0x144]
mov byte [esp + 0x424], 5
call fcn.00402010
push 0x18
call fcn.0045cff5
mov esi, eax
add esp, 4
mov dword [esp + 0x34], esi
cmp esi, ebp
mov byte [esp + 0x424], 7
je 0x42529b
mov al, byte [esp + 0x134]
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x3c], esp
push ebp
mov ecx, edi
mov byte [edi], al
call fcn.00401a10
mov ecx, dword [0x46f234]
lea edx, [esp + 0x144]
push ecx
push ebp
push edx
mov ecx, edi
call fcn.00402510
mov ecx, esi
call fcn.0044f010
mov esi, eax
jmp 0x42529d
xor esi, esi
mov ecx, esi
mov byte [esp + 0x424], 5
call fcn.0044f370
test eax, eax
je 0x4251bb
lea eax, [esp + 0x35c]
mov ecx, esi
push eax
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 8
push ecx
push ebp
push eax
lea ecx, [esp + 0x90]
call fcn.00402510
push 1
lea ecx, [esp + 0x360]
mov byte [esp + 0x428], 5
call fcn.00401a10
mov edi, str.MUSIC
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x8c]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.MUSIC
push edx
push ebp
lea ecx, [esp + 0x94]
call fcn.004186c0
cmp eax, ebp
je 0x4251bb
mov edi, str.SNOWING
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x8c]
not ecx
dec ecx
push ecx
push str.SNOWING
push eax
push ebp
lea ecx, [esp + 0x94]
call fcn.004186c0
cmp eax, ebp
je 0x4251bb
mov edi, str.BITMAP_LIST
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x90]
push str.BITMAP_LIST
push ecx
push ebp
lea ecx, [esp + 0x94]
call fcn.004186c0
cmp eax, ebp
jne 0x425683
mov ecx, dword [ebx + 0x40]
lea edx, [esp + 0xac]
push edx
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 9
cmp ecx, ebp
je 0x4253b3
call fcn.004187b0
mov edx, eax
jmp 0x4253b5
xor edx, edx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x5c]
call fcn.00401a60
mov ecx, dword [esp + 0xac]
mov byte [esp + 0x424], 5
cmp ecx, ebp
je 0x4253eb
call fcn.00402060
mov dword [esp + 0xac], ebp
mov ecx, dword [ebx + 0x40]
lea eax, [esp + 0xb4]
push eax
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 0xa
cmp ecx, ebp
je 0x425412
call fcn.004187b0
mov edx, eax
jmp 0x425414
xor edx, edx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x5c]
call fcn.00401a60
mov ecx, dword [esp + 0xb4]
mov byte [esp + 0x424], 5
cmp ecx, ebp
je 0x42544a
call fcn.00402060
mov dword [esp + 0xb4], ebp
push 0x18
call fcn.0045cff5
mov edi, eax
add esp, 4
mov dword [esp + 0x34], edi
cmp edi, ebp
mov byte [esp + 0x424], 0xb
je 0x42549c
mov cl, byte [esp + 0x54]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x3c], esp
push ebp
mov byte [esi], cl
mov ecx, esi
call fcn.00401a10
mov edx, dword [0x46f234]
lea eax, [esp + 0x64]
push edx
push ebp
push eax
mov ecx, esi
call fcn.00402510
mov ecx, edi
call fcn.0044f010
mov esi, eax
jmp 0x42549e
xor esi, esi
mov ecx, esi
mov byte [esp + 0x424], 5
call fcn.0044f370
test eax, eax
je 0x4253eb
lea ecx, [esp + 0x23c]
push ecx
mov ecx, esi
call fcn.0044f390
mov edx, dword [0x46f234]
lea ecx, [esp + 0x1c]
push edx
push ebp
push eax
mov byte [esp + 0x430], 0xc
call fcn.00402510
push 1
lea ecx, [esp + 0x240]
mov byte [esp + 0x428], 5
call fcn.00401a10
mov edi, 0x479ad8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x24]
not ecx
dec ecx
push ecx
push 0x479ad8
push eax
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
je 0x4251bb
mov cl, byte [esp + 0x1c]
push ebp
mov byte [esp + 0x1e0], cl
lea ecx, [esp + 0x1e0]
call fcn.00401a10
mov edx, dword [0x46f234]
lea eax, [esp + 0x1c]
push edx
push ebp
push eax
lea ecx, [esp + 0x1e8]
call fcn.00402510
lea ecx, [esp + 0x20c]
mov byte [esp + 0x424], 0xd
push ecx
mov ecx, esi
call fcn.0044f390
lea edx, [esp + 0x1fc]
mov ecx, esi
push edx
mov byte [esp + 0x428], 0xe
call fcn.0044f390
push 0x28
mov byte [esp + 0x428], 0xf
call fcn.0045cff5
mov edi, eax
add esp, 4
mov dword [esp + 0x34], edi
cmp edi, ebp
mov byte [esp + 0x424], 0x10
je 0x425621
mov al, byte [esp + 0x1fc]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x3c], esp
push ebp
mov ecx, esi
mov byte [esi], al
call fcn.00401a10
mov ecx, dword [0x46f234]
lea edx, [esp + 0x20c]
push ecx
push ebp
push edx
mov ecx, esi
call fcn.00402510
sub esp, 0x10
lea eax, [esp + 0x22c]
mov ecx, esp
mov dword [esp + 0x6c], esp
push eax
mov byte [esp + 0x448], 0x11
call fcn.004023f0
sub esp, 0x10
lea edx, [esp + 0x20c]
mov ecx, esp
mov dword [esp + 0x78], esp
push edx
mov byte [esp + 0x458], 0x12
call fcn.004023f0
mov ecx, edi
mov byte [esp + 0x454], 0x10
call fcn.00402250
jmp 0x425623
xor eax, eax
push eax
mov eax, dword [0x47fb20]
mov byte [esp + 0x428], 0xf
mov ecx, dword [eax + 0x4b0]
call fcn.004020e0
push 1
lea ecx, [esp + 0x200]
mov byte [esp + 0x428], 0xe
call fcn.00401a10
push 1
lea ecx, [esp + 0x210]
mov byte [esp + 0x428], 0xd
call fcn.00401a10
push 1
lea ecx, [esp + 0x1e0]
mov byte [esp + 0x428], 5
call fcn.00401a10
jmp 0x4253eb
mov edi, str.BITMAP
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x90]
push str.BITMAP
push ecx
push ebp
lea ecx, [esp + 0x94]
call fcn.004186c0
cmp eax, ebp
jne 0x42654f
mov dl, byte [esp + 0x13]
push ebp
lea ecx, [esp + 0x180]
mov byte [esp + 0x180], dl
call fcn.00401a10
mov edi, 0x47f834
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x47f834
lea ecx, [esp + 0x184]
call fcn.00401a60
mov ecx, dword [ebx + 0x40]
mov eax, 1
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], eax
lea eax, [esp + 0xcc]
mov byte [esp + 0x424], 0x13
push eax
mov byte [esp + 0xc0], 0
mov dword [esp + 0xa8], 0
mov byte [esp + 0xa0], 0
mov byte [esp + 0xfc], 0
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 0x14
cmp ecx, ebp
je 0x42574d
call fcn.004187b0
mov edx, eax
jmp 0x42574f
xor edx, edx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x5c]
call fcn.00401a60
mov ecx, dword [esp + 0xcc]
mov byte [esp + 0x424], 0x13
cmp ecx, ebp
je 0x425785
call fcn.00402060
mov dword [esp + 0xcc], ebp
mov ecx, dword [ebx + 0x40]
lea edx, [esp + 0xc8]
push edx
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 0x15
cmp ecx, ebp
je 0x4257ac
call fcn.004187b0
mov edx, eax
jmp 0x4257ae
xor edx, edx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x5c]
call fcn.00401a60
mov ecx, dword [esp + 0xc8]
mov byte [esp + 0x424], 0x13
cmp ecx, ebp
je 0x4257e4
call fcn.00402060
mov dword [esp + 0xc8], ebp
push 0x18
call fcn.0045cff5
mov edi, eax
add esp, 4
mov dword [esp + 0x34], edi
cmp edi, ebp
mov byte [esp + 0x424], 0x16
je 0x425836
mov al, byte [esp + 0x54]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x3c], esp
push ebp
mov ecx, esi
mov byte [esi], al
call fcn.00401a10
mov ecx, dword [0x46f234]
lea edx, [esp + 0x64]
push ecx
push ebp
push edx
mov ecx, esi
call fcn.00402510
mov ecx, edi
call fcn.0044f010
mov esi, eax
jmp 0x425838
xor esi, esi
mov ecx, esi
mov byte [esp + 0x424], 0x13
call fcn.0044f370
test eax, eax
je 0x425785
lea eax, [esp + 0x39c]
mov ecx, esi
push eax
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0x17
push ecx
push ebp
push eax
lea ecx, [esp + 0x28]
call fcn.00402510
push 1
lea ecx, [esp + 0x3a0]
mov byte [esp + 0x428], 0x13
call fcn.00401a10
mov edi, 0x479ad8
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x24]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x479ad8
push edx
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
je 0x426534
mov edi, str.NAME
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x24]
not ecx
dec ecx
push ecx
push str.NAME
push eax
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
jne 0x425929
lea ecx, [esp + 0x25c]
push ecx
mov ecx, esi
call fcn.0044f390
mov edx, dword [0x46f234]
lea ecx, [esp + 0x17c]
push edx
push ebp
push eax
mov byte [esp + 0x430], 0x18
call fcn.00402510
push 1
lea ecx, [esp + 0x260]
mov byte [esp + 0x428], 0x13
call fcn.00401a10
jmp 0x425785
mov edi, str.ANIMATED
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x24]
not ecx
dec ecx
push ecx
push str.ANIMATED
push eax
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
jne 0x4259a2
lea ecx, [esp + 0x33c]
push ecx
mov ecx, esi
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42596c
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
test eax, eax
push 1
lea ecx, [esp + 0x340]
sete bl
call fcn.00401a10
test bl, bl
mov ebx, dword [esp + 0x30]
sete dl
mov byte [esp + 0xbc], dl
jmp 0x425785
mov edi, str.NUM_ROWS
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x24]
not ecx
dec ecx
push ecx
push str.NUM_ROWS
push eax
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
jne 0x425a0a
lea ecx, [esp + 0x27c]
push ecx
mov ecx, esi
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x4259e5
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
push 1
lea ecx, [esp + 0x280]
mov dword [esp + 0x50], eax
call fcn.00401a10
jmp 0x425785
mov edi, str.NUM_FRAMES
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x24]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.NUM_FRAMES
push edx
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
jne 0x425a72
lea eax, [esp + 0x3dc]
mov ecx, esi
push eax
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x425a4d
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
push 1
lea ecx, [esp + 0x3e0]
mov dword [esp + 0x4c], eax
call fcn.00401a10
jmp 0x425785
mov edi, str.FRAME_DELAY
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x28]
push str.FRAME_DELAY
push ecx
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
jne 0x425ad8
lea edx, [esp + 0x29c]
mov ecx, esi
push edx
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x425ab5
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
lea ecx, [esp + 0x29c]
fstp dword [esp + 0xa4]
push 1
call fcn.00401a10
jmp 0x425785
mov edi, str.MIRROR_HORIZ
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x24]
not ecx
dec ecx
push ecx
push str.MIRROR_HORIZ
push eax
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
jne 0x425b51
lea ecx, [esp + 0x21c]
push ecx
mov ecx, esi
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x425b1b
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
test eax, eax
push 1
lea ecx, [esp + 0x220]
sete bl
call fcn.00401a10
test bl, bl
mov ebx, dword [esp + 0x30]
sete dl
mov byte [esp + 0x9c], dl
jmp 0x425785
mov edi, str.MIRROR_VERT
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x24]
not ecx
dec ecx
push ecx
push str.MIRROR_VERT
push eax
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
jne 0x425bca
lea ecx, [esp + 0x2bc]
push ecx
mov ecx, esi
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x425b94
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
test eax, eax
push 1
lea ecx, [esp + 0x2c0]
sete bl
call fcn.00401a10
test bl, bl
mov ebx, dword [esp + 0x30]
sete dl
mov byte [esp + 0xf8], dl
jmp 0x425785
mov edi, str.BONE_ACTOR
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x24]
not ecx
dec ecx
push ecx
push str.BONE_ACTOR
push eax
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
jne 0x425785
mov cl, byte [esp + 0x13]
push ebp
mov byte [esp + 0x160], cl
lea ecx, [esp + 0x160]
call fcn.00401a10
mov edi, 0x47f834
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x47f834
lea ecx, [esp + 0x164]
call fcn.00401a60
mov dl, byte [esp + 0x13]
push ebp
lea ecx, [esp + 0x170]
mov byte [esp + 0x428], 0x19
mov byte [esp + 0x170], dl
call fcn.00401a10
mov edi, 0x47f834
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x47f834
lea ecx, [esp + 0x174]
call fcn.00401a60
mov al, byte [esp + 0x13]
push ebp
lea ecx, [esp + 0x150]
mov byte [esp + 0x428], 0x1a
mov byte [esp + 0x150], al
call fcn.00401a10
mov edi, 0x47f834
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x47f834
lea ecx, [esp + 0x154]
call fcn.00401a60
mov cl, byte [esp + 0x17c]
sub esp, 0x10
mov esi, esp
mov eax, 0xff
mov dword [esp + 0x24], esp
push ebp
mov byte [esi], cl
mov ecx, esi
mov byte [esp + 0x438], 0x1b
mov dword [esp + 0xac], 0x3f800000
mov dword [esp + 0xd8], 0
mov byte [esp + 0x120], 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x80], 0x3f800000
mov dword [esp + 0x78], 0x3f800000
call fcn.00401a10
mov edx, dword [0x46f234]
lea eax, [esp + 0x18c]
push edx
push ebp
push eax
mov ecx, esi
call fcn.00402510
mov ecx, dword [0x47fb20]
mov ecx, dword [ecx + 0x4b0]
call fcn.00402120
push 0x40
mov esi, eax
call fcn.0045cff5
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebp
mov byte [esp + 0x424], 0x1c
je 0x425d94
mov edx, dword [esp + 0xf8]
mov ecx, dword [esp + 0x9c]
push edx
mov edx, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0x50]
push 1
push 0x3c
push edx
mov edx, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esi + 0x10]
push ecx
push edx
mov ecx, eax
call fcn.0044d000
mov dword [esp + 0x14], eax
jmp 0x425d98
mov dword [esp + 0x14], ebp
mov ecx, dword [0x47fb20]
mov eax, dword [esp + 0x14]
push eax
mov byte [esp + 0x428], 0x1b
mov ecx, dword [ecx + 0x4a8]
call fcn.00401000
mov ecx, dword [ebx + 0x40]
lea edx, [esp + 0xe4]
push edx
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 0x1d
cmp ecx, ebp
je 0x425ddd
call fcn.004187b0
mov edx, eax
jmp 0x425ddf
xor edx, edx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x7c]
call fcn.00401a60
mov ecx, dword [esp + 0xe4]
mov byte [esp + 0x424], 0x1b
cmp ecx, ebp
je 0x425e15
call fcn.00402060
mov dword [esp + 0xe4], ebp
mov ecx, dword [ebx + 0x40]
lea eax, [esp + 0xa0]
push eax
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 0x1e
cmp ecx, ebp
je 0x425e3c
call fcn.004187b0
mov edx, eax
jmp 0x425e3e
xor edx, edx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x7c]
call fcn.00401a60
mov ecx, dword [esp + 0xa0]
mov byte [esp + 0x424], 0x1b
cmp ecx, ebp
je 0x425e74
call fcn.00402060
mov dword [esp + 0xa0], ebp
push 0x18
call fcn.0045cff5
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
cmp edi, ebp
mov byte [esp + 0x424], 0x1f
je 0x425ec9
mov cl, byte [esp + 0x74]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x28], esp
push ebp
mov byte [esi], cl
mov ecx, esi
call fcn.00401a10
mov edx, dword [0x46f234]
lea eax, [esp + 0x84]
push edx
push ebp
push eax
mov ecx, esi
call fcn.00402510
mov ecx, edi
call fcn.0044f010
mov esi, eax
jmp 0x425ecb
xor esi, esi
mov ecx, esi
mov byte [esp + 0x424], 0x1b
call fcn.0044f370
test eax, eax
je 0x425e15
lea ecx, [esp + 0x3bc]
push ecx
mov ecx, esi
call fcn.0044f390
mov edx, dword [0x46f234]
lea ecx, [esp + 0x38]
push edx
push ebp
push eax
mov byte [esp + 0x430], 0x20
call fcn.00402510
push 1
lea ecx, [esp + 0x3c0]
mov byte [esp + 0x428], 0x1b
call fcn.00401a10
mov edi, 0x479ad8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x40]
not ecx
dec ecx
push ecx
push 0x479ad8
push eax
push ebp
lea ecx, [esp + 0x48]
call fcn.004186c0
cmp eax, ebp
je 0x426393
mov edi, str.FILE
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x44]
push str.FILE
push ecx
push ebp
lea ecx, [esp + 0x48]
call fcn.004186c0
cmp eax, ebp
jne 0x425fbc
lea edx, [esp + 0x2dc]
mov ecx, esi
push edx
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0x21
push ecx
push ebp
push eax
lea ecx, [esp + 0x168]
call fcn.00402510
push 1
lea ecx, [esp + 0x2e0]
mov byte [esp + 0x428], 0x1b
call fcn.00401a10
jmp 0x425e15
mov edi, str.ANIM_NAME
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x40]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.ANIM_NAME
push edx
push ebp
lea ecx, [esp + 0x48]
call fcn.004186c0
cmp eax, ebp
jne 0x42602b
lea eax, [esp + 0x37c]
mov ecx, esi
push eax
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0x22
push ecx
push ebp
push eax
lea ecx, [esp + 0x158]
call fcn.00402510
push 1
lea ecx, [esp + 0x380]
mov byte [esp + 0x428], 0x1b
call fcn.00401a10
jmp 0x425e15
mov edi, str.BONE
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x40]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.BONE
push edx
push ebp
lea ecx, [esp + 0x48]
call fcn.004186c0
cmp eax, ebp
jne 0x42609a
lea eax, [esp + 0x2fc]
mov ecx, esi
push eax
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0x23
push ecx
push ebp
push eax
lea ecx, [esp + 0x178]
call fcn.00402510
push 1
lea ecx, [esp + 0x300]
mov byte [esp + 0x428], 0x1b
call fcn.00401a10
jmp 0x425e15
mov edi, str.FACE_PATH
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x40]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.FACE_PATH
push edx
push ebp
lea ecx, [esp + 0x48]
call fcn.004186c0
cmp eax, ebp
jne 0x426113
lea eax, [esp + 0x3fc]
mov ecx, esi
push eax
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x4260dd
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
test eax, eax
push 1
lea ecx, [esp + 0x400]
sete bl
call fcn.00401a10
test bl, bl
mov ebx, dword [esp + 0x30]
sete cl
mov byte [esp + 0x10c], cl
jmp 0x425e15
mov edi, str.SPEED
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x40]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.SPEED
push edx
push ebp
lea ecx, [esp + 0x48]
call fcn.004186c0
cmp eax, ebp
jne 0x426179
lea eax, [esp + 0x31c]
mov ecx, esi
push eax
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x426156
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
lea ecx, [esp + 0x31c]
fstp dword [esp + 0x98]
push 1
call fcn.00401a10
jmp 0x425e15
mov edi, str.PAUSE
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x44]
push str.PAUSE
push ecx
push ebp
lea ecx, [esp + 0x48]
call fcn.004186c0
cmp eax, ebp
jne 0x4261df
lea edx, [esp + 0x22c]
mov ecx, esi
push edx
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x4261bc
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
lea ecx, [esp + 0x22c]
fstp dword [esp + 0xc4]
push 1
call fcn.00401a10
jmp 0x425e15
mov edi, str.START_OPACITY
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x40]
not ecx
dec ecx
push ecx
push str.START_OPACITY
push eax
push ebp
lea ecx, [esp + 0x48]
call fcn.004186c0
cmp eax, ebp
jne 0x426247
lea ecx, [esp + 0x24c]
push ecx
mov ecx, esi
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x426222
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
push 1
lea ecx, [esp + 0x250]
mov dword [esp + 0x30], eax
call fcn.00401a10
jmp 0x425e15
mov edi, str.END_OPACITY
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x40]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.END_OPACITY
push edx
push ebp
lea ecx, [esp + 0x48]
call fcn.004186c0
cmp eax, ebp
jne 0x4262af
lea eax, [esp + 0x26c]
mov ecx, esi
push eax
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42628a
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
push 1
lea ecx, [esp + 0x270]
mov dword [esp + 0x38], eax
call fcn.00401a10
jmp 0x425e15
mov edi, str.START_SCALE
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x44]
push str.START_SCALE
push ecx
push ebp
lea ecx, [esp + 0x48]
call fcn.004186c0
cmp eax, ebp
jne 0x42631f
lea edx, [esp + 0x28c]
mov ecx, esi
push edx
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x4262f2
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
mov dword [esp + 0x6c], eax
push 1
fild dword [esp + 0x70]
lea ecx, [esp + 0x290]
fstp dword [esp + 0x70]
call fcn.00401a10
jmp 0x425e15
mov edi, str.END_SCALE
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x40]
not ecx
dec ecx
push ecx
push str.END_SCALE
push eax
push ebp
lea ecx, [esp + 0x48]
call fcn.004186c0
cmp eax, ebp
jne 0x425e15
lea ecx, [esp + 0x2ac]
push ecx
mov ecx, esi
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x426366
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
mov dword [esp + 0x64], eax
push 1
fild dword [esp + 0x68]
lea ecx, [esp + 0x2b0]
fstp dword [esp + 0x68]
call fcn.00401a10
jmp 0x425e15
push 0x74
call fcn.0045cff5
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
cmp edi, ebp
mov byte [esp + 0x424], 0x24
je 0x4263ea
mov dl, byte [esp + 0x15c]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x60], esp
push ebp
mov ecx, esi
mov byte [esi], dl
call fcn.00401a10
mov eax, dword [0x46f234]
lea ecx, [esp + 0x16c]
push eax
push ebp
push ecx
mov ecx, esi
call fcn.00402510
mov ecx, edi
call fcn.00402800
mov esi, eax
jmp 0x4263ec
xor esi, esi
mov dl, byte [esp + 0x16c]
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x28], esp
push ebp
mov ecx, edi
mov byte [esp + 0x438], 0x1b
mov byte [edi], dl
call fcn.00401a10
mov eax, dword [0x46f234]
lea ecx, [esp + 0x17c]
push eax
push ebp
push ecx
mov ecx, edi
call fcn.00402510
mov ecx, esi
call fcn.00402b70
mov dl, byte [esp + 0x14c]
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x28], esp
push ebp
mov ecx, edi
mov byte [edi], dl
call fcn.00401a10
mov eax, dword [0x46f234]
lea ecx, [esp + 0x15c]
push eax
push ebp
push ecx
mov ecx, edi
call fcn.00402510
mov ecx, esi
call fcn.00402cc0
mov edx, dword [esp + 0x10c]
mov ecx, esi
push edx
call fcn.00402b60
mov eax, dword [esp + 0x98]
mov ecx, esi
push eax
call fcn.00402a60
mov ecx, dword [esp + 0xc4]
push ecx
mov ecx, esi
call fcn.00402a70
mov edx, dword [esp + 0x2c]
mov ecx, esi
push edx
call fcn.00402a20
mov eax, dword [esp + 0x34]
mov ecx, esi
push eax
call fcn.00402a30
mov ecx, dword [esp + 0x6c]
push ecx
mov ecx, esi
call fcn.00402a40
mov edx, dword [esp + 0x64]
mov ecx, esi
push edx
call fcn.00402a50
mov eax, dword [esp + 0x14]
push ebp
push ecx
add eax, 0x10
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.0042efe0
mov ecx, esi
call fcn.00402a80
mov ecx, dword [0x47fb20]
push esi
mov ecx, dword [ecx + 0x4b4]
call fcn.00401000
push 1
lea ecx, [esp + 0x150]
mov byte [esp + 0x428], 0x1a
call fcn.00401a10
push 1
lea ecx, [esp + 0x170]
mov byte [esp + 0x428], 0x19
call fcn.00401a10
push 1
lea ecx, [esp + 0x160]
mov byte [esp + 0x428], 0x13
call fcn.00401a10
jmp 0x425785
push 1
lea ecx, [esp + 0x180]
mov byte [esp + 0x428], 5
call fcn.00401a10
jmp 0x4251bb
mov edi, str.ACTOR
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x8c]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.ACTOR
push edx
push ebp
lea ecx, [esp + 0x94]
call fcn.004186c0
cmp eax, ebp
jne 0x4251bb
mov al, byte [esp + 0x13]
push ebp
lea ecx, [esp + 0x128]
mov byte [esp + 0x128], al
call fcn.00401a10
mov edi, 0x47f834
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x128]
push ebx
call fcn.00401c40
test al, al
je 0x4265e6
mov edi, dword [esp + 0x128]
mov ecx, ebx
mov edx, ecx
mov esi, 0x47f834
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x128]
call fcn.00401c20
mov al, byte [esp + 0x13]
push ebp
lea ecx, [esp + 0x114]
mov byte [esp + 0x428], 0x25
mov byte [esp + 0x114], al
call fcn.00401a10
mov edi, 0x47f834
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x114]
push ebx
call fcn.00401c40
test al, al
je 0x426653
mov edi, dword [esp + 0x114]
mov ecx, ebx
mov edx, ecx
mov esi, 0x47f834
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x114]
call fcn.00401c20
mov eax, dword [esp + 0x30]
lea edx, [esp + 0xa8]
push edx
mov byte [esp + 0x428], 0x26
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x38], 0x5c
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 0x27
cmp ecx, ebp
je 0x42668e
call fcn.004187b0
mov esi, eax
jmp 0x426690
xor esi, esi
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x58]
push ebx
call fcn.00401c40
test al, al
je 0x4266cc
mov edi, dword [esp + 0x58]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x58]
call fcn.00401c20
mov ecx, dword [esp + 0xa8]
mov byte [esp + 0x424], 0x26
cmp ecx, ebp
je 0x4266eb
call fcn.00402060
mov dword [esp + 0xa8], ebp
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0xd0]
push edx
mov ecx, dword [ecx + 0x40]
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 0x28
cmp ecx, ebp
je 0x426716
call fcn.004187b0
mov esi, eax
jmp 0x426718
xor esi, esi
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x58]
push ebx
call fcn.00401c40
test al, al
je 0x426754
mov edi, dword [esp + 0x58]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x58]
call fcn.00401c20
mov ecx, dword [esp + 0xd0]
mov byte [esp + 0x424], 0x26
cmp ecx, ebp
je 0x426773
call fcn.00402060
mov dword [esp + 0xd0], ebp
push 0x18
call fcn.0045cff5
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
cmp edi, ebp
mov byte [esp + 0x424], 0x29
je 0x4267c5
mov cl, byte [esp + 0x54]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x60], esp
push ebp
mov byte [esi], cl
mov ecx, esi
call fcn.00401a10
mov edx, dword [0x46f234]
lea eax, [esp + 0x64]
push edx
push ebp
push eax
mov ecx, esi
call fcn.00402510
mov ecx, edi
call fcn.0044f010
mov esi, eax
jmp 0x4267c7
xor esi, esi
mov ecx, esi
mov byte [esp + 0x424], 0x26
call fcn.0044f370
test eax, eax
je 0x4266eb
lea ecx, [esp + 0x2cc]
push ecx
mov ecx, esi
call fcn.0044f390
mov edx, dword [0x46f234]
lea ecx, [esp + 0x1c]
push edx
push ebp
push eax
mov byte [esp + 0x430], 0x2a
call fcn.00402510
push 1
lea ecx, [esp + 0x2d0]
mov byte [esp + 0x428], 0x26
call fcn.00401a10
mov edi, 0x479ad8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x24]
not ecx
dec ecx
push ecx
push 0x479ad8
push eax
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
je 0x427826
mov edi, str.FILE
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x28]
push str.FILE
push ecx
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
jne 0x4268b8
lea edx, [esp + 0x2ec]
mov ecx, esi
push edx
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0x2b
push ecx
push ebp
push eax
lea ecx, [esp + 0x130]
call fcn.00402510
push 1
lea ecx, [esp + 0x2f0]
mov byte [esp + 0x428], 0x26
call fcn.00401a10
jmp 0x4266eb
mov edi, str.PLAY_ANIM
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x24]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.PLAY_ANIM
push edx
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
jne 0x426919
lea eax, [esp + 0x30c]
mov ecx, esi
push eax
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x4268fb
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
lea ecx, [esp + 0x30c]
fstp st(0)
push 1
call fcn.00401a10
jmp 0x4266eb
mov edi, str.Z_ORDER
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x28]
push str.Z_ORDER
push ecx
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
jne 0x426981
lea edx, [esp + 0x32c]
mov ecx, esi
push edx
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42695c
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
push 1
lea ecx, [esp + 0x330]
mov dword [esp + 0x38], eax
call fcn.00401a10
jmp 0x4266eb
mov edi, str.ANIM_NAME
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x24]
not ecx
dec ecx
push ecx
push str.ANIM_NAME
push eax
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
jne 0x4269f0
lea ecx, [esp + 0x34c]
push ecx
mov ecx, esi
call fcn.0044f390
mov edx, dword [0x46f234]
lea ecx, [esp + 0x110]
push edx
push ebp
push eax
mov byte [esp + 0x430], 0x2c
call fcn.00402510
push 1
lea ecx, [esp + 0x350]
mov byte [esp + 0x428], 0x26
call fcn.00401a10
jmp 0x4266eb
mov edi, str.SCALE
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x24]
not ecx
dec ecx
push ecx
push str.SCALE
push eax
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
jne 0x426a51
lea ecx, [esp + 0x36c]
push ecx
mov ecx, esi
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x426a33
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
lea ecx, [esp + 0x36c]
fstp st(0)
push 1
call fcn.00401a10
jmp 0x4266eb
mov edi, str.BONE_ACTOR
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x24]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.BONE_ACTOR
push edx
push ebp
lea ecx, [esp + 0x2c]
call fcn.004186c0
cmp eax, ebp
jne 0x4266eb
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x100]
mov byte [esp + 0x100], al
call fcn.00401a10
mov edi, 0x47f834
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x100]
push ebp
call fcn.00401c40
test al, al
je 0x426ae3
mov edi, dword [esp + 0x100]
mov ecx, ebp
mov edx, ecx
mov esi, 0x47f834
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x100]
call fcn.00401c20
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0xec]
mov byte [esp + 0x428], 0x2d
mov byte [esp + 0xec], al
call fcn.00401a10
mov edi, 0x47f834
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0xec]
push ebp
call fcn.00401c40
test al, al
je 0x426b51
mov edi, dword [esp + 0xec]
mov ecx, ebp
mov edx, ecx
mov esi, 0x47f834
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xec]
call fcn.00401c20
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0xd8]
mov byte [esp + 0x428], 0x2e
mov byte [esp + 0xd8], al
call fcn.00401a10
mov edi, 0x47f834
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0xd8]
push ebp
call fcn.00401c40
test al, al
je 0x426bbf
mov edi, dword [esp + 0xd8]
mov ecx, ebp
mov edx, ecx
mov esi, 0x47f834
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xd8]
call fcn.00401c20
mov eax, 0xff
push 0x2c
mov byte [esp + 0x428], 0x2f
mov dword [esp + 0x98], 0x3f800000
mov dword [esp + 0xc4], 0
mov byte [esp + 0xbc], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x6c], 0x3f800000
mov dword [esp + 0x74], 0x3f800000
call fcn.0045cff5
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov byte [esp + 0x424], 0x30
je 0x426c5c
mov al, byte [esp + 0x124]
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x60], esp
push 0
mov ecx, edi
mov byte [edi], al
call fcn.00401a10
mov ecx, dword [0x46f234]
lea edx, [esp + 0x134]
push ecx
push 0
push edx
mov ecx, edi
call fcn.00402510
mov ecx, esi
call fcn.004010e0
mov edi, eax
jmp 0x426c5e
xor edi, edi
mov al, byte [esp + 0x110]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x28], esp
push 0
mov ecx, esi
mov dword [esp + 0x40], edi
mov byte [esp + 0x438], 0x2f
mov byte [esi], al
call fcn.00401a10
mov ecx, dword [0x46f234]
lea edx, [esp + 0x120]
push ecx
push 0
push edx
mov ecx, esi
call fcn.00402510
mov ecx, edi
call fcn.00401280
mov eax, dword [esp + 0x34]
mov ecx, edi
push eax
call fcn.004013d0
mov ecx, dword [0x47fb20]
push edi
mov ecx, dword [ecx + 0x4ac]
call fcn.00401000
mov edx, dword [esp + 0x30]
lea eax, [esp + 0xb0]
push eax
mov ecx, dword [edx + 0x40]
call fcn.00418620
mov esi, dword [eax]
mov byte [esp + 0x424], 0x31
test esi, esi
je 0x426d0e
mov eax, dword [esi + 4]
test eax, eax
jne 0x426d09
mov ecx, dword [esi]
push ecx
call fcn.0045c414
test eax, eax
mov dword [esi + 4], eax
jne 0x426d09
cmp dword [esi], 0
je 0x426d09
push 0x8007000e
call fcn.0045c2f2
mov esi, dword [esi + 4]
jmp 0x426d10
xor esi, esi
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x78]
push ebp
call fcn.00401c40
test al, al
je 0x426d4c
mov edi, dword [esp + 0x78]
mov ecx, ebp
mov edx, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x78]
call fcn.00401c20
mov ecx, dword [esp + 0xb0]
mov byte [esp + 0x424], 0x2f
test ecx, ecx
je 0x426d6f
call fcn.00402060
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x120]
push edx
mov ecx, dword [eax + 0x40]
call fcn.00418620
mov esi, dword [eax]
xor ebx, ebx
cmp esi, ebx
mov byte [esp + 0x424], 0x32
je 0x426dba
cmp dword [esi + 4], ebx
jne 0x426db5
mov eax, dword [esi]
push eax
call fcn.0045c414
cmp eax, ebx
mov dword [esi + 4], eax
jne 0x426db5
cmp dword [esi], ebx
je 0x426db5
push 0x8007000e
call fcn.0045c2f2
mov esi, dword [esi + 4]
jmp 0x426dbc
xor esi, esi
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x78]
push ebp
call fcn.00401c40
test al, al
je 0x426df8
mov edi, dword [esp + 0x78]
mov ecx, ebp
mov edx, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x78]
call fcn.00401c20
mov ecx, dword [esp + 0x120]
mov byte [esp + 0x424], 0x2f
cmp ecx, ebx
je 0x426e17
call fcn.00402060
mov dword [esp + 0x120], ebx
push 0x18
call fcn.0045cff5
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
cmp edi, ebx
mov byte [esp + 0x424], 0x33
je 0x426e6c
mov al, byte [esp + 0x74]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x60], esp
push ebx
mov ecx, esi
mov byte [esi], al
call fcn.00401a10
mov ecx, dword [0x46f234]
lea edx, [esp + 0x84]
push ecx
push ebx
push edx
mov ecx, esi
call fcn.00402510
mov ecx, edi
call fcn.0044f010
mov esi, eax
jmp 0x426e6e
xor esi, esi
mov ecx, esi
mov dword [esp + 0x14], esi
mov byte [esp + 0x424], 0x2f
call fcn.0044f370
test eax, eax
je 0x426d6f
lea eax, [esp + 0x38c]
mov ecx, esi
push eax
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0x34
push ecx
push ebx
push eax
lea ecx, [esp + 0x44]
call fcn.00402510
push 1
lea ecx, [esp + 0x390]
mov byte [esp + 0x428], 0x2f
call fcn.00401a10
mov edi, 0x479ad8
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x40]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x479ad8
push edx
push ebx
lea ecx, [esp + 0x48]
call fcn.004186c0
cmp eax, ebx
je 0x4275eb
mov edi, str.FILE
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x40]
not ecx
dec ecx
push ecx
push str.FILE
push eax
push ebx
lea ecx, [esp + 0x48]
call fcn.004186c0
cmp eax, ebx
jne 0x426f63
lea ecx, [esp + 0x3ac]
push ecx
mov ecx, esi
call fcn.0044f390
mov edx, dword [0x46f234]
lea ecx, [esp + 0xfc]
push edx
push ebx
push eax
mov byte [esp + 0x430], 0x35
call fcn.00402510
push 1
lea ecx, [esp + 0x3b0]
mov byte [esp + 0x428], 0x2f
call fcn.00401a10
jmp 0x426d6f
mov edi, str.BONE
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x40]
not ecx
dec ecx
push ecx
push str.BONE
push eax
push ebx
lea ecx, [esp + 0x48]
call fcn.004186c0
cmp eax, ebx
jne 0x426fd2
lea ecx, [esp + 0x3cc]
push ecx
mov ecx, esi
call fcn.0044f390
mov edx, dword [0x46f234]
lea ecx, [esp + 0xe8]
push edx
push ebx
push eax
mov byte [esp + 0x430], 0x36
call fcn.00402510
push 1
lea ecx, [esp + 0x3d0]
mov byte [esp + 0x428], 0x2f
call fcn.00401a10
jmp 0x426d6f
mov edi, str.ANIM_NAME
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x40]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, edx
cmp edx, ebp
jb 0x426fef
mov ecx, ebp
mov ebx, dword [esp + 0x3c]
mov edi, str.ANIM_NAME
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x427005
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x427060
cmp edx, ebp
jb 0x427060
cmp edx, ebp
setne al
test eax, eax
jne 0x427060
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x3ec]
push eax
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0x37
push ecx
push 0
push eax
lea ecx, [esp + 0xe0]
call fcn.00402510
push 1
lea ecx, [esp + 0x3f0]
mov byte [esp + 0x428], 0x2f
call fcn.00401a10
jmp 0x426d6f
mov edi, str.FACE_PATH
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, edx
cmp edx, ebp
jb 0x427079
mov ecx, ebp
mov edi, str.FACE_PATH
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x42708b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4270eb
cmp edx, ebp
jb 0x4270eb
cmp edx, ebp
setne al
test eax, eax
jne 0x4270eb
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x40c]
push edx
call fcn.0044f390
mov eax, dword [eax + 4]
test eax, eax
jne 0x4270b9
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
test eax, eax
push 1
lea ecx, [esp + 0x410]
sete bl
call fcn.00401a10
test bl, bl
sete al
mov byte [esp + 0xb8], al
jmp 0x426d6f
mov edi, str.SPEED
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, edx
cmp edx, ebp
jb 0x427104
mov ecx, ebp
mov edi, str.SPEED
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x427116
sbb eax, eax
sbb eax, 0xffffffff
xor esi, esi
cmp eax, esi
jne 0x4271bc
cmp edx, ebp
jb 0x4271bc
xor eax, eax
cmp edx, ebp
setne al
cmp eax, esi
jne 0x4271bc
lea ecx, [esp + 0x18c]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x427154
mov eax, 0x46f230
push eax
call fcn.0045d66a
mov ecx, dword [esp + 0x194]
add esp, 4
fstp dword [esp + 0x94]
cmp ecx, esi
je 0x4271a2
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x427199
cmp al, 0xff
je 0x427199
dec al
mov byte [ecx], al
mov dword [esp + 0x190], esi
mov dword [esp + 0x194], esi
mov dword [esp + 0x198], esi
jmp 0x426d6f
push ecx
call fcn.0045c5a9
add esp, 4
mov dword [esp + 0x190], esi
mov dword [esp + 0x194], esi
mov dword [esp + 0x198], esi
jmp 0x426d6f
mov edi, str.PAUSE
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, edx
cmp edx, ebp
jb 0x4271d5
mov ecx, ebp
mov edi, str.PAUSE
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4271e7
sbb eax, eax
sbb eax, 0xffffffff
xor esi, esi
cmp eax, esi
jne 0x42728d
cmp edx, ebp
jb 0x42728d
xor eax, eax
cmp edx, ebp
setne al
cmp eax, esi
jne 0x42728d
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x1bc]
push edx
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x427225
mov eax, 0x46f230
push eax
call fcn.0045d66a
mov ecx, dword [esp + 0x1c4]
add esp, 4
fstp dword [esp + 0xc0]
cmp ecx, esi
je 0x427273
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x42726a
cmp al, 0xff
je 0x42726a
dec al
mov byte [ecx], al
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x1c8], esi
jmp 0x426d6f
push ecx
call fcn.0045c5a9
add esp, 4
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x1c8], esi
jmp 0x426d6f
mov edi, str.START_OPACITY
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, edx
cmp edx, ebp
jb 0x4272a6
mov ecx, ebp
mov edi, str.START_OPACITY
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4272b8
sbb eax, eax
sbb eax, 0xffffffff
xor esi, esi
cmp eax, esi
jne 0x427362
cmp edx, ebp
jb 0x427362
xor eax, eax
cmp edx, ebp
setne al
cmp eax, esi
jne 0x427362
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x1ec]
push eax
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x4272f6
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1f0]
cmp eax, esi
je 0x427348
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x42733f
cmp al, 0xff
je 0x42733f
dec al
mov byte [ecx], al
mov dword [esp + 0x1f0], esi
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f8], esi
jmp 0x426d6f
push ecx
call fcn.0045c5a9
add esp, 4
mov dword [esp + 0x1f0], esi
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f8], esi
jmp 0x426d6f
mov edi, str.END_OPACITY
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, edx
cmp edx, ebp
jb 0x42737b
mov ecx, ebp
mov edi, str.END_OPACITY
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x42738d
sbb eax, eax
sbb eax, 0xffffffff
xor esi, esi
cmp eax, esi
jne 0x427437
cmp edx, ebp
jb 0x427437
xor eax, eax
cmp edx, ebp
setne al
cmp eax, esi
jne 0x427437
lea ecx, [esp + 0x19c]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x4273cb
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x1a0]
cmp eax, esi
je 0x42741d
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x427414
cmp al, 0xff
je 0x427414
dec al
mov byte [ecx], al
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a8], esi
jmp 0x426d6f
push ecx
call fcn.0045c5a9
add esp, 4
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a8], esi
jmp 0x426d6f
mov edi, str.START_SCALE
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, edx
cmp edx, ebp
jb 0x427450
mov ecx, ebp
mov edi, str.START_SCALE
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x427462
sbb eax, eax
sbb eax, 0xffffffff
xor esi, esi
cmp eax, esi
jne 0x427512
cmp edx, ebp
jb 0x427512
xor eax, eax
cmp edx, ebp
setne al
cmp eax, esi
jne 0x427512
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x1ac]
push edx
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x4274a0
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
mov ecx, dword [esp + 0x1b0]
mov dword [esp + 0x68], eax
fild dword [esp + 0x68]
cmp ecx, esi
fstp dword [esp + 0x68]
je 0x4274f8
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x4274ef
cmp al, 0xff
je 0x4274ef
dec al
mov byte [ecx], al
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1b4], esi
mov dword [esp + 0x1b8], esi
jmp 0x426d6f
push ecx
call fcn.0045c5a9
add esp, 4
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1b4], esi
mov dword [esp + 0x1b8], esi
jmp 0x426d6f
mov edi, str.END_SCALE
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, edx
cmp edx, ebp
jb 0x42752b
mov ecx, ebp
mov edi, str.END_SCALE
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x42753d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x426d6f
cmp edx, ebp
jb 0x426d6f
cmp edx, ebp
setne al
test eax, eax
jne 0x426d6f
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x1cc]
push eax
call fcn.0044f390
mov eax, dword [eax + 4]
xor esi, esi
cmp eax, esi
jne 0x427579
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
cmp ecx, esi
fstp dword [esp + 0x70]
je 0x4275d1
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x4275c8
cmp al, 0xff
je 0x4275c8
dec al
mov byte [ecx], al
mov dword [esp + 0x1d0], esi
mov dword [esp + 0x1d4], esi
mov dword [esp + 0x1d8], esi
jmp 0x426d6f
push ecx
call fcn.0045c5a9
add esp, 4
mov dword [esp + 0x1d0], esi
mov dword [esp + 0x1d4], esi
mov dword [esp + 0x1d8], esi
jmp 0x426d6f
push 0x74
call fcn.0045cff5
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
cmp esi, ebx
mov byte [esp + 0x424], 0x38
je 0x427641
mov dl, byte [esp + 0xfc]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x60], esp
mov byte [ecx], dl
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov eax, dword [0x46f234]
lea edx, [esp + 0x10c]
push eax
push ebx
push edx
call fcn.00402510
mov ecx, esi
call fcn.00402800
mov esi, eax
jmp 0x427643
xor esi, esi
mov al, byte [esp + 0xe8]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x28], esp
mov byte [esp + 0x434], 0x2f
mov byte [ecx], al
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov edx, dword [0x46f234]
lea eax, [esp + 0xf8]
push edx
push ebx
push eax
call fcn.00402510
mov ecx, esi
call fcn.00402b70
mov dl, byte [esp + 0xd4]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x28], esp
mov byte [ecx], dl
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov eax, dword [0x46f234]
lea edx, [esp + 0xe4]
push eax
push ebx
push edx
call fcn.00402510
mov ecx, esi
call fcn.00402cc0
mov edi, dword [esp + 0x2c]
push 1
push ecx
lea eax, [edi + 0x10]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.0042efe0
mov ecx, esi
call fcn.00402a80
mov eax, dword [edi + 0x14]
push ecx
mov ecx, esp
cmp eax, ebx
mov dword [esp + 0x1c], esp
mov dword [ecx], eax
je 0x4276eb
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov ecx, esi
call fcn.00402af0
mov edx, dword [esp + 0xb8]
mov ecx, esi
push edx
call fcn.00402b60
mov eax, dword [esp + 0x94]
mov ecx, esi
push eax
call fcn.00402a60
mov ecx, dword [esp + 0xc0]
push ecx
mov ecx, esi
call fcn.00402a70
mov edx, dword [esp + 0x4c]
mov ecx, esi
push edx
call fcn.00402a20
mov eax, dword [esp + 0x48]
mov ecx, esi
push eax
call fcn.00402a30
mov ecx, dword [esp + 0x68]
push ecx
mov ecx, esi
call fcn.00402a40
mov edx, dword [esp + 0x70]
mov ecx, esi
push edx
call fcn.00402a50
mov eax, dword [0x47fb20]
push esi
mov ecx, dword [eax + 0x4b4]
call fcn.00401000
mov eax, dword [esp + 0xd8]
cmp eax, ebx
je 0x427788
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x42777f
cmp al, 0xff
je 0x42777f
dec al
mov byte [ecx], al
jmp 0x427788
push ecx
call fcn.0045c5a9
add esp, 4
mov eax, dword [esp + 0xec]
mov dword [esp + 0xd8], ebx
cmp eax, ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
je 0x4277c5
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4277bc
cmp al, 0xff
je 0x4277bc
dec al
mov byte [ecx], al
jmp 0x4277c5
push ecx
call fcn.0045c5a9
add esp, 4
mov eax, dword [esp + 0x100]
mov dword [esp + 0xec], ebx
cmp eax, ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov byte [esp + 0x424], 0x26
je 0x42780a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x427801
cmp al, 0xff
je 0x427801
dec al
mov byte [ecx], al
jmp 0x42780a
push ecx
call fcn.0045c5a9
add esp, 4
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
xor ebp, ebp
jmp 0x4266eb
mov eax, dword [esp + 0x114]
cmp eax, ebp
je 0x42784e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x427845
cmp al, 0xff
je 0x427845
dec al
mov byte [ecx], al
jmp 0x42784e
push ecx
call fcn.0045c5a9
add esp, 4
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x114], ebp
cmp ecx, ebp
mov dword [esp + 0x118], ebp
mov dword [esp + 0x11c], ebp
mov byte [esp + 0x424], 5
je 0x427892
mov al, byte [ecx - 1]
test al, al
je 0x427888
cmp al, 0xff
je 0x427888
dec al
mov byte [ecx - 1], al
jmp 0x427892
dec ecx
push ecx
call fcn.0045c5a9
add esp, 4
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x128], ebp
mov dword [esp + 0x12c], ebp
mov dword [esp + 0x130], ebp
jmp 0x4251bb
mov ecx, dword [esp + 0x78]
cmp ecx, ebp
je 0x4278d4
mov al, byte [ecx - 1]
test al, al
je 0x4278ca
cmp al, 0xff
je 0x4278ca
dec al
mov byte [ecx - 1], al
jmp 0x4278d4
dec ecx
push ecx
call fcn.0045c5a9
add esp, 4
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x78], ebp
cmp ecx, ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], ebp
je 0x427907
mov al, byte [ecx - 1]
test al, al
je 0x4278fd
cmp al, 0xff
je 0x4278fd
dec al
mov byte [ecx - 1], al
jmp 0x427907
dec ecx
push ecx
call fcn.0045c5a9
add esp, 4
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x58], ebp
cmp ecx, ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
je 0x42793a
mov al, byte [ecx - 1]
test al, al
je 0x427930
cmp al, 0xff
je 0x427930
dec al
mov byte [ecx - 1], al
jmp 0x42793a
dec ecx
push ecx
call fcn.0045c5a9
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x138], ebp
cmp ecx, ebp
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x140], ebp
je 0x427973
mov al, byte [ecx - 1]
test al, al
je 0x427969
cmp al, 0xff
je 0x427969
dec al
mov byte [ecx - 1], al
jmp 0x427973
dec ecx
push ecx
call fcn.0045c5a9
add esp, 4
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], ebp
cmp ecx, ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
je 0x4279a3
mov al, byte [ecx - 1]
test al, al
je 0x427999
cmp al, 0xff
je 0x427999
dec al
mov byte [ecx - 1], al
jmp 0x4279a3
dec ecx
push ecx
call fcn.0045c5a9
add esp, 4
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x20], ebp
cmp ecx, ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
je 0x4279d6
mov al, byte [ecx - 1]
test al, al
je 0x4279cc
cmp al, 0xff
je 0x4279cc
dec al
mov byte [ecx - 1], al
jmp 0x4279d6
dec ecx
push ecx
call fcn.0045c5a9
add esp, 4
mov ecx, dword [esp + 0x41c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x418
ret