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

Disassembly:
push 0xffffffffffffffff
push 0x46a991
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 + 0x140]
mov byte [esp + 0x428], 2
mov byte [esp + 0x140], 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 0x42af5d
push ecx
mov dword [esp + 0xa0], esp
mov esi, esp
push 0xc
call fcn.0045cff5
add esp, 4
mov dword [esp + 0x9c], eax
cmp eax, ebp
mov byte [esp + 0x428], 6
je 0x42af2a
push str.Error_opening_level_file
mov ecx, eax
call fcn.00418730
jmp 0x42af2c
xor eax, eax
cmp eax, ebp
mov byte [esp + 0x428], 5
mov dword [esi], eax
jne 0x42af44
push 0x8007000e
call fcn.0045c2f2
mov ecx, 0x47f9b4
mov byte [esp + 0x428], 5
call fcn.004019f0
mov ecx, eax
call fcn.00418580
mov esi, dword [ebx + 0x40]
lea ecx, [esp + 0x98]
push ecx
push esi
mov eax, dword [esi]
call dword [eax + 0xdc]
cmp eax, ebp
jge 0x42af81
push 0x4791d8
push esi
push eax
call fcn.0045c300
cmp dword [esp + 0x98], ebp
jne 0x42d652
mov ecx, dword [ebx + 0x40]
lea edx, [esp + 0x9c]
push edx
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 8
cmp ecx, ebp
je 0x42afb5
call fcn.004187b0
mov edx, eax
jmp 0x42afb7
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 + 0x144]
call fcn.00401a60
lea ecx, [esp + 0x9c]
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], 9
je 0x42b03d
mov al, byte [esp + 0x13c]
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 + 0x14c]
push ecx
push ebp
push edx
mov ecx, edi
call fcn.00402510
mov ecx, esi
call fcn.0044f010
mov esi, eax
jmp 0x42b03f
xor esi, esi
mov ecx, esi
mov byte [esp + 0x424], 5
call fcn.0044f370
test eax, eax
je 0x42af5d
lea eax, [esp + 0x2bc]
mov ecx, esi
push eax
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0xa
push ecx
push ebp
push eax
lea ecx, [esp + 0x90]
call fcn.00402510
push 1
lea ecx, [esp + 0x2c0]
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 0x42af5d
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 0x42af5d
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 0x42b425
mov ecx, dword [ebx + 0x40]
lea edx, [esp + 0xec]
push edx
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 0xb
cmp ecx, ebp
je 0x42b155
call fcn.004187b0
mov edx, eax
jmp 0x42b157
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 + 0xec]
mov byte [esp + 0x424], 5
cmp ecx, ebp
je 0x42b18d
call fcn.00402060
mov dword [esp + 0xec], ebp
mov ecx, dword [ebx + 0x40]
lea eax, [esp + 0xc8]
push eax
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 0xc
cmp ecx, ebp
je 0x42b1b4
call fcn.004187b0
mov edx, eax
jmp 0x42b1b6
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], 5
cmp ecx, ebp
je 0x42b1ec
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], 0xd
je 0x42b23e
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 0x42b240
xor esi, esi
mov ecx, esi
mov byte [esp + 0x424], 5
call fcn.0044f370
test eax, eax
je 0x42b18d
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], 0xe
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 0x42af5d
mov cl, byte [esp + 0x1c]
push ebp
mov byte [esp + 0x1c0], cl
lea ecx, [esp + 0x1c0]
call fcn.00401a10
mov edx, dword [0x46f234]
lea eax, [esp + 0x1c]
push edx
push ebp
push eax
lea ecx, [esp + 0x1c8]
call fcn.00402510
lea ecx, [esp + 0x20c]
mov byte [esp + 0x424], 0xf
push ecx
mov ecx, esi
call fcn.0044f390
lea edx, [esp + 0x1fc]
mov ecx, esi
push edx
mov byte [esp + 0x428], 0x10
call fcn.0044f390
push 0x28
mov byte [esp + 0x428], 0x11
call fcn.0045cff5
mov edi, eax
add esp, 4
mov dword [esp + 0x34], edi
cmp edi, ebp
mov byte [esp + 0x424], 0x12
je 0x42b3c3
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], 0x13
call fcn.004023f0
sub esp, 0x10
lea edx, [esp + 0x1ec]
mov ecx, esp
mov dword [esp + 0x78], esp
push edx
mov byte [esp + 0x458], 0x14
call fcn.004023f0
mov ecx, edi
mov byte [esp + 0x454], 0x12
call fcn.00402250
jmp 0x42b3c5
xor eax, eax
push eax
mov eax, dword [0x47fb20]
mov byte [esp + 0x428], 0x11
mov ecx, dword [eax + 0x4b0]
call fcn.004020e0
push 1
lea ecx, [esp + 0x200]
mov byte [esp + 0x428], 0x10
call fcn.00401a10
push 1
lea ecx, [esp + 0x210]
mov byte [esp + 0x428], 0xf
call fcn.00401a10
push 1
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x428], 5
call fcn.00401a10
jmp 0x42b18d
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 0x42c2f1
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 + 0xd4]
mov byte [esp + 0x424], 0x15
push eax
mov byte [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov byte [esp + 0xd4], 0
mov byte [esp + 0xa4], 0
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 0x16
cmp ecx, ebp
je 0x42b4ef
call fcn.004187b0
mov edx, eax
jmp 0x42b4f1
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 + 0xd4]
mov byte [esp + 0x424], 0x15
cmp ecx, ebp
je 0x42b527
call fcn.00402060
mov dword [esp + 0xd4], ebp
mov ecx, dword [ebx + 0x40]
lea edx, [esp + 0x114]
push edx
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 0x17
cmp ecx, ebp
je 0x42b54e
call fcn.004187b0
mov edx, eax
jmp 0x42b550
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 + 0x114]
mov byte [esp + 0x424], 0x15
cmp ecx, ebp
je 0x42b586
call fcn.00402060
mov dword [esp + 0x114], ebp
push 0x18
call fcn.0045cff5
mov edi, eax
add esp, 4
mov dword [esp + 0x34], edi
cmp edi, ebp
mov byte [esp + 0x424], 0x18
je 0x42b5d8
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 0x42b5da
xor esi, esi
mov ecx, esi
mov byte [esp + 0x424], 0x15
call fcn.0044f370
test eax, eax
je 0x42b527
lea eax, [esp + 0x39c]
mov ecx, esi
push eax
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0x19
push ecx
push ebp
push eax
lea ecx, [esp + 0x28]
call fcn.00402510
push 1
lea ecx, [esp + 0x3a0]
mov byte [esp + 0x428], 0x15
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 0x42c2d6
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 0x42b6cb
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], 0x1a
call fcn.00402510
push 1
lea ecx, [esp + 0x260]
mov byte [esp + 0x428], 0x15
call fcn.00401a10
jmp 0x42b527
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 0x42b744
lea ecx, [esp + 0x33c]
push ecx
mov ecx, esi
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42b70e
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 + 0xa4], dl
jmp 0x42b527
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 0x42b7ac
lea ecx, [esp + 0x27c]
push ecx
mov ecx, esi
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42b787
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 0x42b527
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 0x42b814
lea eax, [esp + 0x3dc]
mov ecx, esi
push eax
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42b7ef
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 0x42b527
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 0x42b87a
lea edx, [esp + 0x29c]
mov ecx, esi
push edx
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42b857
mov eax, 0x46f230
push eax
call fcn.0045d66a
fstp dword [esp + 0xac]
add esp, 4
lea ecx, [esp + 0x29c]
push 1
call fcn.00401a10
jmp 0x42b527
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 0x42b8f3
lea ecx, [esp + 0x35c]
push ecx
mov ecx, esi
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42b8bd
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
test eax, eax
push 1
lea ecx, [esp + 0x360]
sete bl
call fcn.00401a10
test bl, bl
mov ebx, dword [esp + 0x30]
sete dl
mov byte [esp + 0xd0], dl
jmp 0x42b527
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 0x42b96c
lea ecx, [esp + 0x21c]
push ecx
mov ecx, esi
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42b936
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 + 0xa0], dl
jmp 0x42b527
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 0x42b527
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 + 0x150]
mov byte [esp + 0x428], 0x1b
mov byte [esp + 0x150], 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 + 0x154]
call fcn.00401a60
mov al, byte [esp + 0x13]
push ebp
lea ecx, [esp + 0x170]
mov byte [esp + 0x428], 0x1c
mov byte [esp + 0x170], 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 + 0x174]
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], 0x1d
mov dword [esp + 0xd8], 0x3f800000
mov dword [esp + 0xe0], 0
mov byte [esp + 0xd0], 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], 0x1e
je 0x42bb36
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0xd0]
push edx
mov edx, dword [esp + 0xac]
push ecx
mov ecx, dword [esp + 0x50]
push 1
push 0x3c
push edx
mov edx, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esi + 0x10]
push ecx
push edx
mov ecx, eax
call fcn.0044d000
mov dword [esp + 0x14], eax
jmp 0x42bb3a
mov dword [esp + 0x14], ebp
mov ecx, dword [0x47fb20]
mov eax, dword [esp + 0x14]
push eax
mov byte [esp + 0x428], 0x1d
mov ecx, dword [ecx + 0x4a8]
call fcn.00401000
mov ecx, dword [ebx + 0x40]
lea edx, [esp + 0xac]
push edx
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 0x1f
cmp ecx, ebp
je 0x42bb7f
call fcn.004187b0
mov edx, eax
jmp 0x42bb81
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 + 0xac]
mov byte [esp + 0x424], 0x1d
cmp ecx, ebp
je 0x42bbb7
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], 0x20
cmp ecx, ebp
je 0x42bbde
call fcn.004187b0
mov edx, eax
jmp 0x42bbe0
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 + 0xb4]
mov byte [esp + 0x424], 0x1d
cmp ecx, ebp
je 0x42bc16
call fcn.00402060
mov dword [esp + 0xb4], ebp
push 0x18
call fcn.0045cff5
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
cmp edi, ebp
mov byte [esp + 0x424], 0x21
je 0x42bc6b
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 0x42bc6d
xor esi, esi
mov ecx, esi
mov byte [esp + 0x424], 0x1d
call fcn.0044f370
test eax, eax
je 0x42bbb7
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], 0x22
call fcn.00402510
push 1
lea ecx, [esp + 0x3c0]
mov byte [esp + 0x428], 0x1d
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 0x42c135
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 0x42bd5e
lea edx, [esp + 0x2dc]
mov ecx, esi
push edx
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0x23
push ecx
push ebp
push eax
lea ecx, [esp + 0x168]
call fcn.00402510
push 1
lea ecx, [esp + 0x2e0]
mov byte [esp + 0x428], 0x1d
call fcn.00401a10
jmp 0x42bbb7
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 0x42bdcd
lea eax, [esp + 0x37c]
mov ecx, esi
push eax
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0x24
push ecx
push ebp
push eax
lea ecx, [esp + 0x178]
call fcn.00402510
push 1
lea ecx, [esp + 0x380]
mov byte [esp + 0x428], 0x1d
call fcn.00401a10
jmp 0x42bbb7
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 0x42be3c
lea eax, [esp + 0x2fc]
mov ecx, esi
push eax
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0x25
push ecx
push ebp
push eax
lea ecx, [esp + 0x158]
call fcn.00402510
push 1
lea ecx, [esp + 0x300]
mov byte [esp + 0x428], 0x1d
call fcn.00401a10
jmp 0x42bbb7
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 0x42beb5
lea eax, [esp + 0x3fc]
mov ecx, esi
push eax
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42be7f
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 + 0xbc], cl
jmp 0x42bbb7
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 0x42bf1b
lea eax, [esp + 0x31c]
mov ecx, esi
push eax
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42bef8
mov eax, 0x46f230
push eax
call fcn.0045d66a
fstp dword [esp + 0xc8]
add esp, 4
lea ecx, [esp + 0x31c]
push 1
call fcn.00401a10
jmp 0x42bbb7
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 0x42bf81
lea edx, [esp + 0x22c]
mov ecx, esi
push edx
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42bf5e
mov eax, 0x46f230
push eax
call fcn.0045d66a
fstp dword [esp + 0xd0]
add esp, 4
lea ecx, [esp + 0x22c]
push 1
call fcn.00401a10
jmp 0x42bbb7
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 0x42bfe9
lea ecx, [esp + 0x24c]
push ecx
mov ecx, esi
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42bfc4
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 0x42bbb7
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 0x42c051
lea eax, [esp + 0x26c]
mov ecx, esi
push eax
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42c02c
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 0x42bbb7
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 0x42c0c1
lea edx, [esp + 0x28c]
mov ecx, esi
push edx
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42c094
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 0x42bbb7
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 0x42bbb7
lea ecx, [esp + 0x2ac]
push ecx
mov ecx, esi
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42c108
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 0x42bbb7
push 0x74
call fcn.0045cff5
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
cmp edi, ebp
mov byte [esp + 0x424], 0x26
je 0x42c18c
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 0x42c18e
xor esi, esi
mov dl, byte [esp + 0x14c]
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x28], esp
push ebp
mov ecx, edi
mov byte [esp + 0x438], 0x1d
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.00402b70
mov dl, byte [esp + 0x16c]
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 + 0x17c]
push eax
push ebp
push ecx
mov ecx, edi
call fcn.00402510
mov ecx, esi
call fcn.00402cc0
mov edx, dword [esp + 0xbc]
mov ecx, esi
push edx
call fcn.00402b60
mov eax, dword [esp + 0xc4]
mov ecx, esi
push eax
call fcn.00402a60
mov ecx, dword [esp + 0xcc]
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 + 0x170]
mov byte [esp + 0x428], 0x1c
call fcn.00401a10
push 1
lea ecx, [esp + 0x150]
mov byte [esp + 0x428], 0x1b
call fcn.00401a10
push 1
lea ecx, [esp + 0x160]
mov byte [esp + 0x428], 0x15
call fcn.00401a10
jmp 0x42b527
push 1
lea ecx, [esp + 0x180]
mov byte [esp + 0x428], 5
call fcn.00401a10
jmp 0x42af5d
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 0x42af5d
mov al, byte [esp + 0x13]
push ebp
lea ecx, [esp + 0x130]
mov byte [esp + 0x130], 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 + 0x130]
push ebx
call fcn.00401c40
test al, al
je 0x42c388
mov edi, dword [esp + 0x130]
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 + 0x130]
call fcn.00401c20
mov al, byte [esp + 0x13]
push ebp
lea ecx, [esp + 0x11c]
mov byte [esp + 0x428], 0x27
mov byte [esp + 0x11c], 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 + 0x11c]
push ebx
call fcn.00401c40
test al, al
je 0x42c3f5
mov edi, dword [esp + 0x11c]
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 + 0x11c]
call fcn.00401c20
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x94]
push edx
mov byte [esp + 0x428], 0x28
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x38], 0x5c
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 0x29
cmp ecx, ebp
je 0x42c430
call fcn.004187b0
mov esi, eax
jmp 0x42c432
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 0x42c46e
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 + 0x94]
mov byte [esp + 0x424], 0x28
cmp ecx, ebp
je 0x42c48d
call fcn.00402060
mov dword [esp + 0x94], ebp
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x100]
push edx
mov ecx, dword [ecx + 0x40]
call fcn.00418620
mov ecx, dword [eax]
mov byte [esp + 0x424], 0x2a
cmp ecx, ebp
je 0x42c4b8
call fcn.004187b0
mov esi, eax
jmp 0x42c4ba
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 0x42c4f6
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 + 0x100]
mov byte [esp + 0x424], 0x28
cmp ecx, ebp
je 0x42c515
call fcn.00402060
mov dword [esp + 0x100], ebp
push 0x18
call fcn.0045cff5
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
cmp edi, ebp
mov byte [esp + 0x424], 0x2b
je 0x42c567
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 0x42c569
xor esi, esi
mov ecx, esi
mov byte [esp + 0x424], 0x28
call fcn.0044f370
test eax, eax
je 0x42c48d
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], 0x2c
call fcn.00402510
push 1
lea ecx, [esp + 0x2d0]
mov byte [esp + 0x428], 0x28
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 0x42d5c8
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 0x42c65a
lea edx, [esp + 0x2ec]
mov ecx, esi
push edx
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0x2d
push ecx
push ebp
push eax
lea ecx, [esp + 0x138]
call fcn.00402510
push 1
lea ecx, [esp + 0x2f0]
mov byte [esp + 0x428], 0x28
call fcn.00401a10
jmp 0x42c48d
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 0x42c6bb
lea eax, [esp + 0x30c]
mov ecx, esi
push eax
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42c69d
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
lea ecx, [esp + 0x30c]
fstp st(0)
push 1
call fcn.00401a10
jmp 0x42c48d
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 0x42c723
lea edx, [esp + 0x32c]
mov ecx, esi
push edx
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42c6fe
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 0x42c48d
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 0x42c792
lea ecx, [esp + 0x34c]
push ecx
mov ecx, esi
call fcn.0044f390
mov edx, dword [0x46f234]
lea ecx, [esp + 0x118]
push edx
push ebp
push eax
mov byte [esp + 0x430], 0x2e
call fcn.00402510
push 1
lea ecx, [esp + 0x350]
mov byte [esp + 0x428], 0x28
call fcn.00401a10
jmp 0x42c48d
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 0x42c7f3
lea ecx, [esp + 0x36c]
push ecx
mov ecx, esi
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x42c7d5
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
lea ecx, [esp + 0x36c]
fstp st(0)
push 1
call fcn.00401a10
jmp 0x42c48d
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 0x42c48d
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x108]
mov byte [esp + 0x108], 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 + 0x108]
push ebp
call fcn.00401c40
test al, al
je 0x42c885
mov edi, dword [esp + 0x108]
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 + 0x108]
call fcn.00401c20
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0xf4]
mov byte [esp + 0x428], 0x2f
mov byte [esp + 0xf4], 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 + 0xf4]
push ebp
call fcn.00401c40
test al, al
je 0x42c8f3
mov edi, dword [esp + 0xf4]
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 + 0xf4]
call fcn.00401c20
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0xe0]
mov byte [esp + 0x428], 0x30
mov byte [esp + 0xe0], 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 + 0xe0]
push ebp
call fcn.00401c40
test al, al
je 0x42c961
mov edi, dword [esp + 0xe0]
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 + 0xe0]
call fcn.00401c20
mov eax, 0xff
push 0x2c
mov byte [esp + 0x428], 0x31
mov dword [esp + 0x12c], 0x3f800000
mov dword [esp + 0xc4], 0
mov byte [esp + 0xbc], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x74], 0x3f800000
mov dword [esp + 0x6c], 0x3f800000
call fcn.0045cff5
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov byte [esp + 0x424], 0x32
je 0x42c9fe
mov al, byte [esp + 0x12c]
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 + 0x13c]
push ecx
push 0
push edx
mov ecx, edi
call fcn.00402510
mov ecx, esi
call fcn.004010e0
mov edi, eax
jmp 0x42ca00
xor edi, edi
mov al, byte [esp + 0x118]
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], 0x31
mov byte [esi], al
call fcn.00401a10
mov ecx, dword [0x46f234]
lea edx, [esp + 0x128]
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], 0x33
test esi, esi
je 0x42cab0
mov eax, dword [esi + 4]
test eax, eax
jne 0x42caab
mov ecx, dword [esi]
push ecx
call fcn.0045c414
test eax, eax
mov dword [esi + 4], eax
jne 0x42caab
cmp dword [esi], 0
je 0x42caab
push 0x8007000e
call fcn.0045c2f2
mov esi, dword [esi + 4]
jmp 0x42cab2
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 0x42caee
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], 0x31
test ecx, ecx
je 0x42cb11
call fcn.00402060
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0x30]
lea edx, [esp + 0xd8]
push edx
mov ecx, dword [eax + 0x40]
call fcn.00418620
mov esi, dword [eax]
xor ebx, ebx
cmp esi, ebx
mov byte [esp + 0x424], 0x34
je 0x42cb5c
cmp dword [esi + 4], ebx
jne 0x42cb57
mov eax, dword [esi]
push eax
call fcn.0045c414
cmp eax, ebx
mov dword [esi + 4], eax
jne 0x42cb57
cmp dword [esi], ebx
je 0x42cb57
push 0x8007000e
call fcn.0045c2f2
mov esi, dword [esi + 4]
jmp 0x42cb5e
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 0x42cb9a
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 + 0xd8]
mov byte [esp + 0x424], 0x31
cmp ecx, ebx
je 0x42cbb9
call fcn.00402060
mov dword [esp + 0xd8], ebx
push 0x18
call fcn.0045cff5
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
cmp edi, ebx
mov byte [esp + 0x424], 0x35
je 0x42cc0e
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 0x42cc10
xor esi, esi
mov ecx, esi
mov dword [esp + 0x14], esi
mov byte [esp + 0x424], 0x31
call fcn.0044f370
test eax, eax
je 0x42cb11
lea eax, [esp + 0x38c]
mov ecx, esi
push eax
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0x36
push ecx
push ebx
push eax
lea ecx, [esp + 0x44]
call fcn.00402510
push 1
lea ecx, [esp + 0x390]
mov byte [esp + 0x428], 0x31
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 0x42d38d
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 0x42cd05
lea ecx, [esp + 0x3ac]
push ecx
mov ecx, esi
call fcn.0044f390
mov edx, dword [0x46f234]
lea ecx, [esp + 0x104]
push edx
push ebx
push eax
mov byte [esp + 0x430], 0x37
call fcn.00402510
push 1
lea ecx, [esp + 0x3b0]
mov byte [esp + 0x428], 0x31
call fcn.00401a10
jmp 0x42cb11
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 0x42cd74
lea ecx, [esp + 0x3cc]
push ecx
mov ecx, esi
call fcn.0044f390
mov edx, dword [0x46f234]
lea ecx, [esp + 0xf0]
push edx
push ebx
push eax
mov byte [esp + 0x430], 0x38
call fcn.00402510
push 1
lea ecx, [esp + 0x3d0]
mov byte [esp + 0x428], 0x31
call fcn.00401a10
jmp 0x42cb11
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 0x42cd91
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 0x42cda7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42ce02
cmp edx, ebp
jb 0x42ce02
cmp edx, ebp
setne al
test eax, eax
jne 0x42ce02
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x3ec]
push eax
call fcn.0044f390
mov ecx, dword [0x46f234]
mov byte [esp + 0x424], 0x39
push ecx
push 0
push eax
lea ecx, [esp + 0xe8]
call fcn.00402510
push 1
lea ecx, [esp + 0x3f0]
mov byte [esp + 0x428], 0x31
call fcn.00401a10
jmp 0x42cb11
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 0x42ce1b
mov ecx, ebp
mov edi, str.FACE_PATH
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x42ce2d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42ce8d
cmp edx, ebp
jb 0x42ce8d
cmp edx, ebp
setne al
test eax, eax
jne 0x42ce8d
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x40c]
push edx
call fcn.0044f390
mov eax, dword [eax + 4]
test eax, eax
jne 0x42ce5b
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 0x42cb11
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 0x42cea6
mov ecx, ebp
mov edi, str.SPEED
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x42ceb8
sbb eax, eax
sbb eax, 0xffffffff
xor esi, esi
cmp eax, esi
jne 0x42cf5e
cmp edx, ebp
jb 0x42cf5e
xor eax, eax
cmp edx, ebp
setne al
cmp eax, esi
jne 0x42cf5e
lea ecx, [esp + 0x1dc]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x42cef6
mov eax, 0x46f230
push eax
call fcn.0045d66a
mov ecx, dword [esp + 0x1e4]
add esp, 4
fstp dword [esp + 0x128]
cmp ecx, esi
je 0x42cf44
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x42cf3b
cmp al, 0xff
je 0x42cf3b
dec al
mov byte [ecx], al
mov dword [esp + 0x1e0], esi
mov dword [esp + 0x1e4], esi
mov dword [esp + 0x1e8], esi
jmp 0x42cb11
push ecx
call fcn.0045c5a9
add esp, 4
mov dword [esp + 0x1e0], esi
mov dword [esp + 0x1e4], esi
mov dword [esp + 0x1e8], esi
jmp 0x42cb11
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 0x42cf77
mov ecx, ebp
mov edi, str.PAUSE
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x42cf89
sbb eax, eax
sbb eax, 0xffffffff
xor esi, esi
cmp eax, esi
jne 0x42d02f
cmp edx, ebp
jb 0x42d02f
xor eax, eax
cmp edx, ebp
setne al
cmp eax, esi
jne 0x42d02f
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x18c]
push edx
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x42cfc7
mov eax, 0x46f230
push eax
call fcn.0045d66a
mov ecx, dword [esp + 0x194]
add esp, 4
fstp dword [esp + 0xc0]
cmp ecx, esi
je 0x42d015
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x42d00c
cmp al, 0xff
je 0x42d00c
dec al
mov byte [ecx], al
mov dword [esp + 0x190], esi
mov dword [esp + 0x194], esi
mov dword [esp + 0x198], esi
jmp 0x42cb11
push ecx
call fcn.0045c5a9
add esp, 4
mov dword [esp + 0x190], esi
mov dword [esp + 0x194], esi
mov dword [esp + 0x198], esi
jmp 0x42cb11
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 0x42d048
mov ecx, ebp
mov edi, str.START_OPACITY
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x42d05a
sbb eax, eax
sbb eax, 0xffffffff
xor esi, esi
cmp eax, esi
jne 0x42d104
cmp edx, ebp
jb 0x42d104
xor eax, eax
cmp edx, ebp
setne al
cmp eax, esi
jne 0x42d104
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x1ec]
push eax
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x42d098
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 0x42d0ea
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x42d0e1
cmp al, 0xff
je 0x42d0e1
dec al
mov byte [ecx], al
mov dword [esp + 0x1f0], esi
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f8], esi
jmp 0x42cb11
push ecx
call fcn.0045c5a9
add esp, 4
mov dword [esp + 0x1f0], esi
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f8], esi
jmp 0x42cb11
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 0x42d11d
mov ecx, ebp
mov edi, str.END_OPACITY
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x42d12f
sbb eax, eax
sbb eax, 0xffffffff
xor esi, esi
cmp eax, esi
jne 0x42d1d9
cmp edx, ebp
jb 0x42d1d9
xor eax, eax
cmp edx, ebp
setne al
cmp eax, esi
jne 0x42d1d9
lea ecx, [esp + 0x19c]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x42d16d
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 0x42d1bf
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x42d1b6
cmp al, 0xff
je 0x42d1b6
dec al
mov byte [ecx], al
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a8], esi
jmp 0x42cb11
push ecx
call fcn.0045c5a9
add esp, 4
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a8], esi
jmp 0x42cb11
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 0x42d1f2
mov ecx, ebp
mov edi, str.START_SCALE
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x42d204
sbb eax, eax
sbb eax, 0xffffffff
xor esi, esi
cmp eax, esi
jne 0x42d2b4
cmp edx, ebp
jb 0x42d2b4
xor eax, eax
cmp edx, ebp
setne al
cmp eax, esi
jne 0x42d2b4
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x1ac]
push edx
call fcn.0044f390
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x42d242
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
mov ecx, dword [esp + 0x1b0]
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
cmp ecx, esi
fstp dword [esp + 0x70]
je 0x42d29a
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x42d291
cmp al, 0xff
je 0x42d291
dec al
mov byte [ecx], al
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1b4], esi
mov dword [esp + 0x1b8], esi
jmp 0x42cb11
push ecx
call fcn.0045c5a9
add esp, 4
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1b4], esi
mov dword [esp + 0x1b8], esi
jmp 0x42cb11
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 0x42d2cd
mov ecx, ebp
mov edi, str.END_SCALE
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x42d2df
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42cb11
cmp edx, ebp
jb 0x42cb11
cmp edx, ebp
setne al
test eax, eax
jne 0x42cb11
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 0x42d31b
mov eax, 0x46f230
push eax
call fcn.0045d66a
add esp, 4
call fcn.0045d004
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 0x68], eax
fild dword [esp + 0x68]
cmp ecx, esi
fstp dword [esp + 0x68]
je 0x42d373
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x42d36a
cmp al, 0xff
je 0x42d36a
dec al
mov byte [ecx], al
mov dword [esp + 0x1d0], esi
mov dword [esp + 0x1d4], esi
mov dword [esp + 0x1d8], esi
jmp 0x42cb11
push ecx
call fcn.0045c5a9
add esp, 4
mov dword [esp + 0x1d0], esi
mov dword [esp + 0x1d4], esi
mov dword [esp + 0x1d8], esi
jmp 0x42cb11
push 0x74
call fcn.0045cff5
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
cmp esi, ebx
mov byte [esp + 0x424], 0x3a
je 0x42d3e3
mov dl, byte [esp + 0x104]
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 + 0x114]
push eax
push ebx
push edx
call fcn.00402510
mov ecx, esi
call fcn.00402800
mov esi, eax
jmp 0x42d3e5
xor esi, esi
mov al, byte [esp + 0xf0]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x28], esp
mov byte [esp + 0x434], 0x31
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 + 0x100]
push edx
push ebx
push eax
call fcn.00402510
mov ecx, esi
call fcn.00402b70
mov dl, byte [esp + 0xdc]
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 + 0xec]
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 0x42d48d
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 + 0x128]
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 + 0x70]
push ecx
mov ecx, esi
call fcn.00402a40
mov edx, dword [esp + 0x68]
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 + 0xe0]
cmp eax, ebx
je 0x42d52a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x42d521
cmp al, 0xff
je 0x42d521
dec al
mov byte [ecx], al
jmp 0x42d52a
push ecx
call fcn.0045c5a9
add esp, 4
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xe0], ebx
cmp eax, ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
je 0x42d567
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x42d55e
cmp al, 0xff
je 0x42d55e
dec al
mov byte [ecx], al
jmp 0x42d567
push ecx
call fcn.0045c5a9
add esp, 4
mov eax, dword [esp + 0x108]
mov dword [esp + 0xf4], ebx
cmp eax, ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov byte [esp + 0x424], 0x28
je 0x42d5ac
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x42d5a3
cmp al, 0xff
je 0x42d5a3
dec al
mov byte [ecx], al
jmp 0x42d5ac
push ecx
call fcn.0045c5a9
add esp, 4
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
xor ebp, ebp
jmp 0x42c48d
mov eax, dword [esp + 0x11c]
cmp eax, ebp
je 0x42d5f0
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x42d5e7
cmp al, 0xff
je 0x42d5e7
dec al
mov byte [ecx], al
jmp 0x42d5f0
push ecx
call fcn.0045c5a9
add esp, 4
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x11c], ebp
cmp ecx, ebp
mov dword [esp + 0x120], ebp
mov dword [esp + 0x124], ebp
mov byte [esp + 0x424], 5
je 0x42d634
mov al, byte [ecx - 1]
test al, al
je 0x42d62a
cmp al, 0xff
je 0x42d62a
dec al
mov byte [ecx - 1], al
jmp 0x42d634
dec ecx
push ecx
call fcn.0045c5a9
add esp, 4
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x130], ebp
mov dword [esp + 0x134], ebp
mov dword [esp + 0x138], ebp
jmp 0x42af5d
mov ecx, dword [esp + 0x78]
cmp ecx, ebp
je 0x42d676
mov al, byte [ecx - 1]
test al, al
je 0x42d66c
cmp al, 0xff
je 0x42d66c
dec al
mov byte [ecx - 1], al
jmp 0x42d676
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 0x42d6a9
mov al, byte [ecx - 1]
test al, al
je 0x42d69f
cmp al, 0xff
je 0x42d69f
dec al
mov byte [ecx - 1], al
jmp 0x42d6a9
dec ecx
push ecx
call fcn.0045c5a9
add esp, 4
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x58], ebp
cmp ecx, ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
je 0x42d6dc
mov al, byte [ecx - 1]
test al, al
je 0x42d6d2
cmp al, 0xff
je 0x42d6d2
dec al
mov byte [ecx - 1], al
jmp 0x42d6dc
dec ecx
push ecx
call fcn.0045c5a9
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x140], ebp
cmp ecx, ebp
mov dword [esp + 0x144], ebp
mov dword [esp + 0x148], ebp
je 0x42d715
mov al, byte [ecx - 1]
test al, al
je 0x42d70b
cmp al, 0xff
je 0x42d70b
dec al
mov byte [ecx - 1], al
jmp 0x42d715
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 0x42d745
mov al, byte [ecx - 1]
test al, al
je 0x42d73b
cmp al, 0xff
je 0x42d73b
dec al
mov byte [ecx - 1], al
jmp 0x42d745
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 0x42d778
mov al, byte [ecx - 1]
test al, al
je 0x42d76e
cmp al, 0xff
je 0x42d76e
dec al
mov byte [ecx - 1], al
jmp 0x42d778
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