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

Disassembly:
sub esp, 0x268
mov al, byte [0x8ccc27]
mov ecx, dword [esp + 0x28c]
push ebx
push ebp
mov ebp, dword [esp + 0x284]
xor ebx, ebx
cmp al, bl
push esi
push edi
mov dword [esp + 0x34], 0xc0000000
mov byte [esp + 0x23], bl
mov byte [esp + 0x29], bl
jne 0x426f22
cmp ecx, ebx
je 0x425b23
mov eax, dword [ecx + 0x20]
cmp eax, ebx
jl 0x425b1c
cmp eax, 3
setle al
cmp al, bl
jne 0x425b23
mov dword [ecx + 0x20], 0xffffffff
mov eax, dword [0x72ed74]
mov ecx, dword [eax + 0x1c]
cmp ecx, ebx
mov dword [eax + 0xfc], ebx
mov dword [eax + 0x100], ebx
mov dword [eax + 0x104], ebx
je 0x425b50
lea edi, [ecx + 0x38]
mov ecx, 9
mov esi, 0x7199b0
rep movsd dword es:[edi], dword [esi]
cmp dword [eax + 0xf4], ebx
mov esi, 0x7199b0
jne 0x425b62
mov ecx, dword [eax + 0x14]
jmp 0x425b65
mov ecx, dword [eax + 8]
lea edi, [ecx + 0x38]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
push ebx
mov ecx, eax
call fcn.004e5e80
mov eax, dword [ebp + 4]
call fcn.004bb170
push 0xffffffffffffffff
push 0xbf800000
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
add eax, 0x5c
mov edx, dword [eax]
push 0xffffffffffffffff
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov eax, dword [0x8c9354]
lea ecx, [eax + eax*4 + 0x87]
push ecx
call fcn.004889e0
mov eax, dword [ebp + 4]
add esp, 0x2c
call fcn.004bb170
push 0xffffffffffffffff
push 0xbf800000
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
add eax, 0x5c
mov ecx, dword [eax]
sub esp, 0xc
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [edx + 4], ecx
push 0x4e
mov dword [edx + 8], eax
call fcn.004889e0
mov eax, dword [esp + 0x2a8]
add esp, 0x2c
cmp eax, ebx
jne 0x425c08
call fcn.004ae970
jmp 0x425c15
push str.Camera_All
call fcn.004aea30
add esp, 4
mov eax, dword [0x8ebfd8]
push 0x47d6d800
push 0x40000000
call fcn.00412840
mov esi, dword [0x8cbdec]
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx]
push 0xc44f0000
add esi, 0x14
push ebx
push ebx
call dword [edx + 0x10]
mov ecx, dword [esi]
mov eax, dword [ecx]
push ebx
call dword [eax + 0xc]
cmp dword [0x72eb4c], 2
jg 0x425c61
mov ecx, dword [esp + 0x280]
push 2
push ecx
call fcn.004bf440
cmp dword [0x72eb4c], 6
jne 0x425c6e
mov dword [esp + 0x34], ebx
call fcn.004b02b0
cmp eax, ebx
mov dword [esp + 0x44], eax
je 0x425c7e
inc dword [eax + 4]
push 0xc0
call fcn.005354b8
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x425d7e
mov eax, dword [0x8ebffc]
mov edi, dword [0x729444]
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push ebx
push ebx
mov dword [esi + 4], ebx
push ebx
mov dword [esi], 0x6ff14c
mov dword [esi + 0x1c], ebx
push ebx
mov dword [esi + 0x64], ebx
mov dword [esi + 0xbc], ebx
push eax
inc edi
xor ebx, ebx
mov eax, str.fx_splash_body_in_water.nif
mov ecx, esi
mov dword [0x729444], edi
call fcn.004be370
mov eax, dword [esi + 4]
mov edi, esi
inc eax
mov dword [esp + 0x3c], edi
mov dword [esi + 4], eax
push ebx
push 1
call fcn.004c1050
push 0xc0
call fcn.005354b8
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x425d89
mov eax, dword [0x8ebffc]
mov edi, dword [0x729444]
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push ebx
push ebx
mov dword [esi + 4], ebx
push ebx
mov dword [esi], 0x6ff14c
mov dword [esi + 0x1c], ebx
push ebx
mov dword [esi + 0x64], ebx
mov dword [esi + 0xbc], ebx
push eax
inc edi
xor ebx, ebx
mov eax, str.fx_splash_crate.nif
mov ecx, esi
mov dword [0x729444], edi
call fcn.004be370
mov eax, dword [esi + 4]
mov edi, esi
inc eax
mov dword [esp + 0x38], edi
mov dword [esi + 4], eax
push ebx
push 1
call fcn.004c1050
mov eax, dword [0x72eb4c]
dec eax
cmp eax, 5
mov ebp, 0x190
mov edi, 0x191
mov dword [esp + 0x24], ebp
mov dword [esp + 0x10], edi
ja case.default.0x425d77
jmp dword [eax*4 + 0x426f30]
xor edi, edi
mov dword [esp + 0x3c], edi
jmp 0x425ce2
xor edi, edi
mov dword [esp + 0x38], edi
jmp 0x425d4e
mov ebp, 0x2bc
mov edi, 0x2bd
jmp 0x425e00
mov ebp, 0x3e8
mov edi, 0x3e9
jmp 0x425e00
mov ebp, 0x4b0
mov edi, ebp
jmp 0x425e00
mov eax, dword [esp + 0x29c]
cmp eax, ebx
mov ebp, 0x474
mov edi, 0x475
mov dword [esp + 0x24], ebp
mov dword [esp + 0x10], edi
je case.default.0x425d77
mov edx, dword [eax + 4]
cmp dword [edx - 4], ebx
je case.default.0x425d77
mov edi, ebp
jmp 0x425e04
cmp dword [0x72eb44], 5
mov ebp, 0x514
mov edi, 0x518
mov dword [esp + 0x24], ebp
mov dword [esp + 0x10], edi
jl case.default.0x425d77
mov ebp, 0x26d
mov edi, 0x275
mov dword [esp + 0x24], ebp
mov dword [esp + 0x10], edi
cmp dword [0x72ecc4], 0x12c
mov dword [esp + 0x2c], ebx
jne 0x425f46
cmp byte [0x72eb40], bl
jne 0x425f3d
mov eax, dword [esp + 0x29c]
cmp eax, ebx
je 0x425e43
mov eax, dword [eax + 0x20]
cmp eax, 0xffffffff
je 0x425e43
mov esi, eax
mov dword [esp + 0x2c], esi
jmp 0x425e4e
call fcn.004259f0
mov dword [esp + 0x2c], eax
mov esi, eax
cmp esi, 2
mov ebp, 0x5e7
mov edi, 0x5ed
mov dword [esp + 0x24], ebp
mov dword [esp + 0x10], edi
jne 0x425e6c
mov edi, 0x5ec
jmp 0x425e76
cmp esi, 3
jne 0x425e7a
mov edi, 0x5eb
mov dword [esp + 0x10], edi
mov eax, dword [0x7277fc]
mov ecx, dword [esp + 0x29c]
imul eax, eax, 0x45c
cmp ecx, ebx
movsx eax, word [eax + 0x816330]
je 0x425ea1
cmp dword [ecx + 0x20], 0xffffffff
jne 0x425f46
cmp eax, 1
jl 0x425f46
cmp eax, 0xa
setle cl
cmp cl, bl
je 0x425f46
imul eax, eax, 0x1c
lea ecx, [eax + 0x863ffc]
mov eax, dword [ecx]
and eax, 0xffffff03
cmp esi, ebx
mov dword [ecx], eax
jne 0x425ed5
mov edx, 4
jmp 0x425ee4
xor edx, edx
cmp esi, 2
setne dl
lea edx, [edx*8 + 8]
or eax, edx
mov edx, dword [0x8ccbd4]
cmp edx, 0x3e8
mov dword [ecx], eax
jl 0x425f02
cmp edx, 0x5dc
jge 0x425f0a
xor edx, edx
jmp 0x425f1c
cmp edx, 0x5dc
jl 0x425f17
cmp edx, 0x7ee
mov edx, 1
jl 0x425f1c
mov edx, 2
sub edx, ebx
je 0x425f36
dec edx
je 0x425f2f
dec edx
jne 0x425f46
or eax, 0x80
mov dword [ecx], eax
jmp 0x425f46
or eax, 0x40
mov dword [ecx], eax
jmp 0x425f46
or eax, 0x20
mov dword [ecx], eax
jmp 0x425f46
mov edi, 0x190
mov dword [esp + 0x10], edi
mov esi, dword [esp + 0x27c]
mov ebx, dword [esp + 0x28c]
push esi
push edi
mov edi, dword [esp + 0x29c]
mov eax, ebp
call fcn.00427e70
mov eax, dword [esp + 0x34]
add esp, 8
cmp eax, 2
jne 0x425f7d
push esi
push 0x5f8
mov eax, 0x5f7
jmp 0x425f8f
cmp dword [esp + 0x2c], 3
jne 0x425f97
push esi
push 0x604
mov eax, 0x600
call fcn.00427e70
add esp, 8
mov eax, dword [0x72eb4c]
xor esi, esi
cmp eax, 6
mov dword [esp + 0x48], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x50], esi
mov byte [esp + 0x2a], 0
mov byte [esp + 0x2b], 0
jne 0x42608a
push 0xc0
call fcn.005354b8
add esp, 4
cmp eax, esi
je 0x425ffc
mov ecx, dword [0x8ec000]
push esi
push esi
push esi
push esi
push 0xffffffffffffffff
push esi
push esi
push esi
push esi
push str.fx_ramparts_thrown_torch_fire.nif
push ecx
xor ebx, ebx
mov esi, eax
call fcn.004bb100
test eax, eax
je 0x425ffc
mov ecx, dword [eax + 4]
inc ecx
mov dword [esp + 0x48], eax
mov dword [eax + 4], ecx
push 0xc0
call fcn.005354b8
add esp, 4
test eax, eax
je 0x426043
mov edx, dword [0x8ec000]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
push 0
push 0
push str.fx_Rampart_full_screen_explosion.nif
push edx
xor ebx, ebx
mov esi, eax
call fcn.004bb100
test eax, eax
je 0x426043
mov ecx, dword [eax + 4]
inc ecx
mov dword [esp + 0x40], eax
mov dword [eax + 4], ecx
push 0xc0
call fcn.005354b8
add esp, 4
test eax, eax
je 0x42608a
mov ecx, dword [0x8ec000]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
push 0
push 0
push str.fx_rampart_dueling_pc_win_barrel_fire.nif
push ecx
xor ebx, ebx
mov esi, eax
call fcn.004bb100
test eax, eax
je 0x42608a
mov ecx, dword [eax + 4]
inc ecx
mov dword [esp + 0x50], eax
mov dword [eax + 4], ecx
xor edi, edi
mov dword [esp + 0x64], edi
call fcn.00427db0
mov edx, dword [esp + 0x2c]
push edx
push ebp
push 3
or eax, 0xffffffff
call fcn.004a6910
add esp, 0xc
call fcn.004a2120
lea ecx, [ecx]
cmp ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], ebp
jg 0x426b82
mov edi, edi
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
mov dword [esp + 0x60], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0x70], 0
jne 0x4260e9
mov eax, dword [esp + 0x27c]
fld dword [eax + 0x2c]
jmp 0x426102
mov ecx, dword [esp + 0x27c]
call fcn.004bc7a0
cmp eax, edi
je 0x4260fe
fld dword [eax + 0xc]
jmp 0x426102
fld dword [esp + 0x70]
fmul dword [0x715698]
call fcn.005f275c
fld qword [0x8ca4b0]
fmul dword [0x715698]
mov esi, eax
mov dword [esp + 0x4c], esi
call fcn.005f275c
mov ecx, dword [0x85c164]
and ecx, 0xfffffffb
cmp esi, edi
mov dword [esp + 0x68], eax
mov dword [0x85c164], ecx
jle 0x426b6b
nop
push 0
call fcn.0042e1a0
add esp, 4
cmp eax, 0x1b
je 0x426ac4
cmp eax, 0x20
je 0x426ac4
cmp eax, 0xd
je 0x426ac4
mov eax, dword [0x86e35c]
test eax, eax
jne 0x426ac4
mov al, byte [0x8ccc27]
test al, al
jne 0x426ac4
mov edx, dword [esp + 0x284]
test edx, edx
je 0x4261cc
fild dword [esp + 0x34]
push 0
push 0
push ecx
fmul qword [0x715728]
lea eax, [esp + 0x1f8]
fstp dword [esp]
call fcn.004dc670
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
add esp, 0xc
push ecx
push eax
push 0x64
lea ecx, [esp + 0x1f8]
push ecx
push 0
push 0
push 0
mov ecx, edx
call fcn.004bc350
fild dword [esp + 0x34]
push 0
push 0
lea eax, [esp + 0xd4]
fmul qword [0x715728]
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
push edx
call fcn.004dc670
mov eax, dword [esp + 0x20]
add esp, 0xc
push eax
push 0
push 0x64
lea ecx, [esp + 0xd8]
push ecx
mov ecx, dword [esp + 0x290]
push 0
push 0
push 0
call fcn.004bc350
mov esi, eax
cmp dword [0x72eb4c], 5
jne 0x4262bc
push 7
push str.shadow__02d
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0x8cccd0
call fcn.004f3ce0
mov ebp, dword [esp + 0x20]
add esp, 8
push ebp
lea ebx, [esp + 0x7c]
call fcn.004c16d0
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x28c]
xor eax, eax
mov ecx, dword [ebx + eax*4]
add ecx, 0x78
mov dword [ecx], edi
inc eax
cmp eax, 2
mov dword [ecx + 4], esi
mov dword [ecx + 8], edx
jl 0x426265
xor ecx, ecx
jmp 0x426280
mov eax, dword [esp + 0x290]
test eax, eax
je 0x42629d
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x42629d
add eax, 0x78
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], edx
inc ecx
cmp ecx, 3
jl 0x426280
lea eax, [ebp - 8]
test eax, eax
je 0x4262c3
cmp eax, 0x8cccc8
je 0x4262c3
push eax
call sub.MSVCR71.dll_void___cdecl_operator_delete___void__
add esp, 4
jmp 0x4262c3
mov ebx, dword [esp + 0x28c]
mov edx, dword [esp + 0x288]
test edx, edx
je 0x4262fd
mov eax, dword [esp + 0x30]
push 0
push 0
push eax
lea eax, [esp + 0x90]
call fcn.004dc670
mov ecx, dword [esp + 0x20]
add esp, 0xc
push ecx
push 0
push 0x64
push eax
push 0
push 0
push 0
mov ecx, edx
call fcn.004bc350
mov ebp, dword [esp + 0x1c]
mov ecx, dword [ebx]
mov eax, ebp
call fcn.004bc7a0
test eax, eax
je 0x426345
mov ecx, dword [esp + 0x30]
mov edx, dword [ebx]
push 0
push 0
push ecx
lea eax, [esp + 0x120]
call fcn.004dc670
mov eax, dword [esp + 0x20]
add esp, 0xc
push eax
push ebp
push 0x64
lea ecx, [esp + 0x120]
push ecx
push 0
push 0
push 0
mov ecx, edx
call fcn.004bc350
mov ecx, dword [ebx + 4]
mov eax, ebp
call fcn.004bc7a0
test eax, eax
je 0x426388
mov eax, dword [esp + 0x30]
mov edx, dword [ebx + 4]
push 0
push 0
push eax
lea eax, [esp + 0x1b0]
call fcn.004dc670
mov ecx, dword [esp + 0x20]
add esp, 0xc
push ecx
push ebp
push 0x64
push eax
push 0
push 0
push 0
mov ecx, edx
call fcn.004bc350
mov dword [esp + 0x64], eax
mov edi, dword [esp + 0x294]
xor esi, esi
mov edx, dword [edi + esi*4]
test edx, edx
je 0x4263cd
mov ecx, dword [esp + 0x30]
push 0
push 0
push ecx
lea eax, [esp + 0x168]
call fcn.004dc670
mov eax, dword [esp + 0x20]
add esp, 0xc
push eax
push ebp
push 0x64
lea ecx, [esp + 0x168]
push ecx
push 0
push 0
push 0
mov ecx, edx
call fcn.004bc350
inc esi
cmp esi, 3
jl 0x426391
cmp dword [0x72eb4c], 6
jne 0x42670f
cmp ebp, 0x516
jne 0x4266a5
mov ecx, dword [ebx]
mov eax, ebp
mov dword [esp + 0x74], 0
call fcn.004bc7a0
test eax, eax
je 0x426406
fld dword [eax + 0xc]
jmp 0x426410
fld dword [esp + 0x74]
lea ebx, [ebx]
fmul dword [0x715698]
call fcn.005f275c
mov ecx, dword [esp + 0x14]
test ecx, ecx
mov dword [esp + 0x18], eax
jne 0x42665d
mov ebp, dword [esp + 0x280]
mov eax, ebp
call fcn.004bb170
mov edx, dword [eax]
push str.dummy_fx_torchfire_01
mov ecx, eax
call dword [edx + 0x40]
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x426482
cmp dword [0x7288e8], ebx
je 0x426482
mov esi, dword [0x7288e0]
cmp esi, ebx
je 0x426482
nop
lea eax, [esi + 8]
mov eax, dword [eax]
cmp edi, dword [eax + 8]
mov esi, dword [esi]
jne 0x42647e
push eax
push 0x7288dc
call fcn.004ab2e0
mov byte [0x8cbdf4], 1
cmp esi, ebx
jne 0x426460
cmp dword [ebp + 0x50], ebx
je 0x426516
jmp 0x426490
mov ecx, dword [0x8cc4e0]
call fcn.00552c40
cmp dword [0x8cc4cc], ebx
jne 0x426508
mov eax, dword [0x8cc4c8]
cmp dword [eax + 0xc], ebx
jbe 0x426508
mov ecx, dword [0x8cc4e0]
push ebx
call fcn.00552ba0
test eax, eax
jne 0x426508
mov ecx, dword [0x8cc4c8]
mov eax, dword [ecx + 4]
mov edx, dword [eax]
cmp edx, ebx
mov esi, ecx
mov dword [ecx + 4], edx
je 0x4264d6
mov dword [edx + 4], ebx
jmp 0x4264d9
mov dword [ecx + 8], ebx
mov edx, dword [ecx]
mov edi, dword [eax + 8]
push eax
call dword [edx + 8]
mov eax, dword [esi + 0xc]
mov ecx, dword [0x8cc4e0]
dec eax
mov dword [esi + 0xc], eax
mov dword [0x8cc4cc], edi
mov eax, dword [0x8cc4cc]
add eax, 8
mov eax, dword [eax]
mov eax, dword [eax + 8]
push eax
call fcn.00546910
mov eax, dword [0x8cc4cc]
cmp dword [ebp + 0x50], ebx
jne 0x426490
mov eax, dword [ebp + 0xbc]
cmp eax, ebx
je 0x426530
cmp dword [0x7283a0], 1
jg 0x426530
call fcn.004bb170
jmp 0x426533
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax]
push str.r_torch_01
mov ecx, eax
call dword [edx + 0x40]
cmp eax, ebx
je 0x426547
or byte [eax + 0x20], 1
mov edi, dword [esp + 0x48]
cmp edi, ebx
mov eax, dword [esp + 0x294]
mov eax, dword [eax + 4]
je 0x426592
call fcn.004bb170
mov edx, dword [eax]
push str.dummy_fx_torchfire
mov ecx, eax
call dword [edx + 0x40]
mov esi, eax
test esi, esi
je 0x426592
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test eax, eax
je 0x426592
jmp 0x426580
cmp eax, 0x729560
je 0x426635
mov eax, dword [eax + 4]
test eax, eax
jne 0x426580
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
push 0
push 0
push ecx
lea eax, [esp + 0x1d4]
call fcn.004dc670
mov esi, dword [esp + 0x288]
add esp, 0xc
push 0
push 0xffffffffffffffff
push 0x64
mov edx, eax
push edx
push 0
push 0
push 0
mov ecx, esi
call fcn.004bc350
mov eax, dword [esp + 0x14]
push eax
push ebp
mov ecx, esi
call fcn.004bc4e0
mov eax, esi
call fcn.004bc620
mov byte [esi + 0x24], 0
mov esi, dword [esp + 0x44]
call fcn.004b0360
push 0
push 0
push 0
call fcn.004d1a40
add esp, 0xc
push 5
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.004a6cb0
fld qword [0x8ca4b0]
fmul dword [0x7157e4]
call fcn.005f275c
mov ecx, dword [esp + 0x68]
neg ecx
sub ecx, eax
mov eax, ecx
cmp eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
jl 0x426140
jmp 0x426b6b
mov ecx, dword [esp + 0x18]
push 0xffffffffffffffff
push 0x64
push ecx
push 0x64
push 0
push 0
push 0
push 0
push 0
push 0
push esi
push edi
mov edi, 0x7288dc
call fcn.004ab1b0
jmp 0x426592
lea eax, [eax + eax*2]
cdq
and edx, 3
add eax, edx
sar eax, 2
cmp ecx, eax
jl 0x426592
mov al, byte [esp + 0x2a]
test al, al
jne 0x426592
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x280]
push 0x64
push 0x64
push edx
mov ecx, str.dummy_fx_rampart_dueling_pc_win_barrel_fire
mov byte [esp + 0x36], 1
call fcn.004c11e0
jmp 0x426592
cmp ebp, 0x518
jne 0x42670f
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x426592
mov ecx, dword [ebx]
mov eax, ebp
mov dword [esp + 0x6c], 0
call fcn.004bc7a0
test eax, eax
je 0x4266d3
fld dword [eax + 0xc]
jmp 0x4266e0
fld dword [esp + 0x6c]
jmp 0x4266e0
fmul dword [0x715698]
call fcn.005f275c
mov ebx, dword [esp + 0x40]
push 0x64
push 0x64
push eax
mov eax, dword [esp + 0x28c]
mov ecx, str.dummy_fx_Rampart_full_screen_explosion
call fcn.004c11e0
mov byte [esp + 0x2b], 1
jmp 0x426592
cmp ebp, 0x190
je 0x426743
cmp ebp, 0x2bc
je 0x426743
cmp ebp, 0x3e8
je 0x426743
cmp ebp, 0x5ed
je 0x426743
cmp ebp, 0x5f8
je 0x426743
cmp ebp, 0x604
jne 0x42693e
cmp dword [0x725ab0], 0xffffffff
je 0x42693e
mov eax, 0x725ab0
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x426760
cmp dword [eax], ebp
jne 0x426929
mov ebx, dword [esp + 0x64]
mov eax, ebx
call fcn.004bc620
mov eax, dword [ebx + 0x50]
xor edi, edi
cmp eax, edi
je 0x42680e
mov ecx, dword [0x8cc4e0]
call fcn.00552c40
cmp dword [0x8cc4cc], edi
jne 0x4267f8
mov eax, dword [0x8cc4c8]
cmp dword [eax + 0xc], edi
jbe 0x4267f8
mov ecx, dword [0x8cc4e0]
push edi
call fcn.00552ba0
test eax, eax
jne 0x4267f8
mov ecx, dword [0x8cc4c8]
mov eax, dword [ecx + 4]
mov edx, dword [eax]
cmp edx, edi
mov esi, ecx
mov dword [ecx + 4], edx
je 0x4267c6
mov dword [edx + 4], edi
jmp 0x4267c9
mov dword [ecx + 8], edi
mov edx, dword [ecx]
mov edi, dword [eax + 8]
push eax
call dword [edx + 8]
mov eax, dword [esi + 0xc]
mov ecx, dword [0x8cc4e0]
dec eax
mov dword [esi + 0xc], eax
mov dword [0x8cc4cc], edi
mov eax, dword [0x8cc4cc]
add eax, 8
mov eax, dword [eax]
mov eax, dword [eax + 8]
push eax
call fcn.00546910
mov eax, dword [0x8cc4cc]
mov eax, dword [ebx + 0x50]
xor edi, edi
cmp eax, edi
jne 0x426780
mov esi, dword [esp + 0x18]
mov eax, dword [ebx + 0xbc]
cmp eax, edi
je 0x426828
cmp dword [0x7283a0], 1
jg 0x426828
call fcn.004bb170
jmp 0x42682b
mov eax, dword [ebx + 0x1c]
mov edx, dword [eax]
push str.Bip01_Pelvis
mov ecx, eax
call dword [edx + 0x40]
cmp eax, edi
je 0x426929
add eax, 0x90
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x5c], eax
mov al, byte [esp + 0x23]
test al, al
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
jne 0x4268ee
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esi + 4]
jl 0x426929
cmp ebp, 0x604
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x38]
push 0xffffffffffffffff
mov dword [esp + 0x64], edx
push 0x64
je 0x42688d
mov esi, dword [esp + 0x44]
fld dword [esi + 0x2c]
fmul dword [0x715698]
call fcn.005f275c
fld dword [esp + 0x64]
push eax
push 0x64
push edi
push edi
push edi
call fcn.005f275c
fld dword [esp + 0x74]
push eax
call fcn.005f275c
fld dword [esp + 0x74]
push eax
call fcn.005f275c
push eax
push edi
mov edi, 0x7288dc
push esi
call fcn.004ab1b0
push 0xbf800000
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x85
or esi, 0xffffffff
xor eax, eax
or ecx, 0xffffffff
mov byte [esp + 0x33], 1
call fcn.00488840
add esp, 0x10
fld dword [esp + 0x60]
fsub dword [esp + 0x5c]
fmul dword [0x70de8c]
fsubr dword [0x71555c]
call fcn.005f275c
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
cmp eax, 0x64
jle 0x42691b
mov eax, 0x64
push 0
push eax
mov ecx, ebx
call fcn.004c28d0
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 8]
add esi, 8
cmp ecx, 0xffffffff
mov dword [esp + 0x18], esi
mov eax, esi
jne 0x426760
cmp ebp, 0x191
jne 0x4269cc
mov ebp, dword [esp + 0x14]
mov esi, 0x1a5
mov ebx, 0xffffffce
mov eax, esi
cdq
mov ecx, 3
idiv ecx
mov eax, dword [esp + 0x290]
mov edi, dword [eax + edx*4]
test edi, edi
je 0x4269be
mov ecx, dword [esp + 0x34]
neg ecx
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
push 0
push 0
fmul qword [0x715728]
push ecx
lea eax, [esp + 0xb4]
fstp dword [esp]
call fcn.004dc670
add esp, 0xc
push ebp
push esi
mov edx, eax
mov eax, dword [0x72ecc8]
push 0x64
push edx
push eax
mov eax, dword [0x72ecd4]
imul eax, eax, 0xfffffffd
cdq
sub eax, edx
push ebx
sar eax, 1
push eax
mov ecx, edi
call fcn.004bc350
add ebx, 0x19
inc esi
cmp ebx, 0x32
jle 0x426958
jmp 0x426592
cmp ebp, 0x2bd
jne 0x426a4d
mov ebx, dword [esp + 0x34]
mov esi, 0x1a5
mov edi, 0xffffffce
mov eax, esi
cdq
mov ecx, 3
idiv ecx
mov eax, dword [esp + 0x290]
mov edx, dword [eax + edx*4]
test edx, edx
je 0x426a3f
mov ecx, ebx
neg ecx
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
push 0
push 0
fmul qword [0x715728]
push ecx
lea eax, [esp + 0xfc]
fstp dword [esp]
call fcn.004dc670
mov eax, dword [esp + 0x20]
add esp, 0xc
push eax
push esi
push 0x64
lea ecx, [esp + 0xfc]
push ecx
push 0
push edi
push 0
mov ecx, edx
call fcn.004bc350
add edi, 0x19
inc esi
cmp edi, 0x32
jle 0x4269e2
jmp 0x426596
cmp ebp, 0x474
je 0x426a61
cmp ebp, 0x475
jne 0x426596
mov edi, dword [esp + 0x30]
push 0
push 0
push edi
lea eax, [esp + 0x144]
call fcn.004dc670
mov esi, dword [esp + 0x20]
mov ecx, dword [0x8ccdf4]
add esp, 0xc
push esi
push ebp
push 0x64
mov edx, eax
push edx
push 0
push 0
push 0
call fcn.004bc350
push 0
push 0
push edi
lea eax, [esp + 0x18c]
call fcn.004dc670
mov ecx, dword [0x8ccdf8]
add esp, 0xc
push esi
push ebp
push 0x64
push eax
push 0
push 0
push 0
call fcn.004bc350
jmp 0x426596
mov al, byte [0x8ca27f]
test al, al
je 0x426b40
mov edx, dword [0x8eed78]
mov ecx, 0x8eed78
call dword [edx + 0x18]
test al, al
jne 0x426af5
push 0
push str.The_audio_manager_has_not_been_properly_initialized_yet
mov eax, 1
call fcn.004887a0
add esp, 8
jmp 0x426b39
sub esp, 0x64
mov esi, 0x8cccd0
lea eax, [esp + 0x274]
mov ebx, esp
mov dword [esp + 0x2d4], esi
mov dword [esp + 0x274], 0x1f
mov dword [esp + 0x2ac], 0x8ca288
call fcn.00498530
mov edi, 0x8e87b4
call fcn.004a1410
mov dword [esp + 0x270], esi
mov byte [0x8ca27f], 0
mov al, byte [0x8ca27e]
test al, al
je 0x426b5d
push 0x3f800000
mov byte [0x8ca27e], 0
call fcn.00488e30
add esp, 4
mov eax, dword [esp + 0x10]
inc eax
mov byte [esp + 0x29], 1
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
inc eax
xor edi, edi
cmp eax, ecx
mov dword [esp + 0x1c], eax
jle 0x4260c0
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x426bd4
mov cl, byte [esp + 0x29]
test cl, cl
jne 0x426bd4
sub eax, 2
je 0x426bb7
dec eax
jne 0x426bc7
mov dword [esp + 0x24], 0x600
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x10], 0x604
mov dword [esp + 0x2c], edi
jmp 0x4260b0
mov dword [esp + 0x24], 0x5f7
mov dword [esp + 0x10], 0x5f8
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x2c], edi
jmp 0x4260b0
cmp dword [0x72eb4c], 6
jne 0x426c10
mov al, byte [esp + 0x2b]
test al, al
je 0x426c10
mov ecx, dword [0x85c268]
mov edx, dword [0x85c26c]
push edi
push 0xffffffffffffffff
push ecx
push edx
push edi
push edi
push edi
push edi
push edi
push edi
push edi
call fcn.004af500
add esp, 0x2c
push edi
push edi
push edi
call fcn.004d1a40
add esp, 0xc
mov esi, dword [esp + 0x29c]
cmp esi, edi
je 0x426e8b
mov eax, dword [esi + 4]
cmp dword [eax - 4], edi
je 0x426e8b
cmp dword [0x72eb4c], 5
jne 0x426cc8
call fcn.004ae690
push edi
push 0x40000000
push edi
call fcn.004d1a40
mov al, byte [0x72eb40]
add esp, 0xc
test al, al
je 0x426cc8
mov ecx, dword [esi + 4]
mov edx, 0x86bb48
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x426c60
mov al, byte [0x8ca27f]
test al, al
je 0x426c87
push 0x8ca288
call fcn.00489090
add esp, 4
mov byte [0x8ca27f], 0
mov ecx, dword [0x85c268]
mov eax, 0x66666667
imul ecx
mov eax, dword [0x85c26c]
push edi
push edi
push 0xffffffffffffffff
sar edx, 1
push edi
mov ecx, edx
push edi
shr ecx, 0x1f
add ecx, edx
cdq
push 0xffffffffffffffff
push edi
and edx, 3
push str.empty.dds
or ecx, 1
add eax, edx
push ecx
sar eax, 2
push eax
call fcn.00430160
jmp 0x426e88
mov ebp, dword [esp + 0x29c]
mov ebx, dword [0x85c164]
mov ecx, dword [ebp + 4]
mov edx, 0x86bb48
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x426ce0
mov ecx, dword [0x85c164]
mov eax, dword [esp + 0x280]
mov edx, dword [esp + 0x27c]
and ecx, 0xffefffff
mov dword [0x72eae4], eax
mov eax, dword [esp + 0x44]
mov dword [0x85c164], ecx
mov ecx, dword [esp + 0x284]
mov dword [0x72eaf0], eax
mov eax, dword [esp + 0x294]
mov dword [0x72eae0], edx
mov edx, dword [esp + 0x288]
mov dword [0x72eae8], ecx
mov ecx, dword [esp + 0x28c]
mov dword [0x72eafc], eax
mov eax, dword [0x72ecc4]
mov dword [0x72eaec], edx
mov edx, dword [esp + 0x290]
mov dword [0x72eaf4], ecx
mov ecx, dword [esp + 0x298]
cmp eax, 0x259
mov dword [0x72eaf8], edx
mov dword [0x72eb00], ecx
mov dword [0x72eb04], ebp
mov dword [0x72eb08], edi
mov dword [0x72eb1c], edi
mov dword [0x72eb18], edi
mov dword [0x72eb2c], edi
mov dword [0x72eb24], edi
mov dword [0x72eb28], edi
mov dword [0x72eb20], edi
mov eax, 0x275
je 0x426db1
mov eax, 0x5e
mov dword [0x72eb0c], eax
mov dword [0x72eb10], eax
mov dword [0x72eb14], eax
mov al, byte [0x8ca27f]
test al, al
mov dword [0x8ccc44], 0x40000000
je 0x426de7
push 0x8ca288
call fcn.00489090
add esp, 4
mov byte [0x8ca27f], 0
mov ecx, dword [0x85c11c]
mov eax, dword [0x8ccc18]
mov edi, dword [0x8cbdd8]
imul eax, ecx
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
mov ecx, 0x86bb48
mov dword [esp + 0x4c], eax
mov dword [0x8cbde0], edi
call fcn.0050ae30
mov esi, dword [0x85c268]
fimul dword [0x728380]
push 0
push 0
push 0xffffffffffffffff
mov eax, esi
cdq
push 0
push 0x425600
fidiv dword [0x8ccc1c]
and edx, 0x1f
push 0xffffffffffffffff
add eax, edx
sar eax, 5
push 0
push 0x6f7896
sub esi, eax
fadd dword [0x715588]
fimul dword [esp + 0x6c]
fmul dword [0x715584]
call fcn.005f275c
sub esi, eax
mov eax, dword [0x85c26c]
cdq
and edx, 0xf
and esi, 0xfffffffe
add eax, edx
sar eax, 4
push esi
push eax
call fcn.00430160
mov dword [ebp + 0x14], eax
mov dword [0x85c164], ebx
add esp, 0x28
call fcn.004ae970
mov esi, dword [0x8cbdec]
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx]
push 0
add esi, 0x14
push 0
push 0
call dword [edx + 0x10]
mov ecx, dword [esi]
mov eax, dword [ecx]
push 0
call dword [eax + 0xc]
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x426ec3
dec dword [ecx + 4]
jne 0x426ec3
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x426ed6
dec dword [ecx + 4]
jne 0x426ed6
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x426ee9
dec dword [ecx + 4]
jne 0x426ee9
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x426efc
dec dword [ecx + 4]
jne 0x426efc
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x426f0f
dec dword [ecx + 4]
jne 0x426f0f
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x426f22
dec dword [ecx + 4]
jne 0x426f22
mov eax, dword [ecx]
push 1
call dword [eax]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x268
ret