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

Disassembly:
sub esp, 0x70
mov edx, dword [esp + 0x94]
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov cx, word [edx]
mov dword [esp + 0x14], esi
test cx, cx
mov dword [esp + 0x3c], ecx
jle 0x453aef
mov eax, dword [esi + 0x3244]
mov edi, dword [esi + 0x3248]
movsx ecx, cx
cmp ecx, eax
mov dword [esp + 0x7c], edi
jge 0x453aef
mov ax, word [edx + 2]
test ax, ax
mov dword [esp + 0x48], eax
jle 0x453aef
mov ecx, dword [esi + 0x3244]
movsx eax, ax
mov dword [esp + 0x78], ecx
mov ecx, edi
cmp eax, ecx
jge 0x453aef
mov dl, byte [edx + 4]
test dl, dl
mov byte [esp + 0x13], dl
je 0x45148b
cmp dl, 1
jne 0x453aef
mov ebx, dword [esp + 0xa8]
mov dx, word [ebx]
test dx, dx
mov dword [esp + 0x4c], edx
jle 0x453aef
mov edi, dword [esi + 0x3248]
mov ecx, dword [esi + 0x3244]
mov dword [esp + 0x7c], edi
movsx edi, dx
cmp edi, ecx
jge 0x453aef
mov bp, word [ebx + 2]
test bp, bp
jle 0x453aef
mov edx, ecx
movsx ecx, bp
mov dword [esp + 0x78], edx
mov edx, dword [esi + 0x3248]
cmp ecx, edx
jge 0x453aef
mov bl, byte [ebx + 4]
test bl, bl
je 0x4514f1
cmp bl, 1
jne 0x453aef
sub eax, ecx
cdq
mov ecx, eax
movsx eax, word [esp + 0x3c]
xor ecx, edx
sub eax, edi
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jg 0x45150c
mov eax, ecx
mov dl, byte [esp + 0x13]
cmp dl, bl
je 0x451549
test dl, dl
jne 0x45152b
mov cx, word [esp + 0x4c]
cmp cx, word [esp + 0x3c]
jle 0x45152b
cmp bp, word [esp + 0x48]
jg 0x451542
test bl, bl
jne 0x451549
mov dx, word [esp + 0x4c]
cmp word [esp + 0x3c], dx
jle 0x451549
cmp word [esp + 0x48], bp
jle 0x451549
mov edx, 1
jmp 0x45154b
xor edx, edx
mov ebx, dword [esp + 0x84]
add edx, eax
movsx eax, word [ebx + 0x28]
cmp edx, eax
jg 0x453aef
mov edi, dword [esp + 0x94]
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x18], ecx
mov ecx, esi
movsx edx, word [edi + 2]
movsx eax, word [edi]
push edx
push eax
mov dword [esp + 0x38], 0
call fcn.00472cf0
movsx ecx, word [edi + 2]
movsx edx, word [edi]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x44], eax
call fcn.00472c10
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x88]
push 0
mov dword [esp + 0x50], 1
mov ecx, dword [eax + 0xaf0]
push ecx
mov ecx, esi
call fcn.004644b0
movsx ebx, word [ebx + 0x28]
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebx
call fcn.004396e0
mov eax, dword [esp + 0xa8]
mov ebp, dword [esp + 0x8c]
mov ecx, dword [esp + 0xa4]
push eax
push ecx
mov dword [ebp + 0x78], 0
call dword [sym.imp.Staff2.dll_char___cdecl_STAFFGetDirection_struct_PIS___struct_PIS__]
add esp, 8
cmp al, 5
mov byte [esp + 0x9c], al
jne 0x45161b
mov byte [esp + 0x9c], 2
lea edx, [esp + 0x20]
lea eax, [esp + 0x70]
push edx
mov edx, dword [esp + 0xb4]
push eax
push edx
push ebx
lea eax, [esp + 0x54]
lea ecx, [esi + 0x31dc]
push edi
push eax
mov dword [esp + 0x60], ecx
call fcn.00488600
test eax, eax
je 0x452c18
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x20]
cmp ecx, eax
je 0x452be2
lea edx, [esp + 0x70]
lea ecx, [esi + 0x323c]
push edx
push edi
call fcn.00486030
test eax, eax
je 0x452be2
mov ax, word [esp + 0x70]
cmp word [edi], ax
jne 0x45168f
mov ecx, dword [esp + 0x72]
cmp word [edi + 2], cx
je 0x451751
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax]
mov dword [esp + 0x78], ecx
mov dx, word [eax + 4]
mov word [esp + 0x7c], dx
mov esi, dword [esp + 0xa8]
mov bx, word [esi + 2]
mov di, word [esi]
movsx eax, word [esp + 0x7a]
movsx ecx, bx
sub eax, ecx
cdq
mov ecx, eax
movsx eax, word [esp + 0x78]
xor ecx, edx
sub ecx, edx
movsx edx, di
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x4516d9
mov ecx, eax
mov dl, byte [esi + 4]
mov al, byte [esp + 0x7c]
cmp al, dl
je 0x45170f
test al, al
jne 0x4516f6
cmp di, word [esp + 0x78]
jle 0x4516f6
cmp bx, word [esp + 0x7a]
jg 0x451708
test dl, dl
jne 0x45170f
cmp word [esp + 0x78], di
jle 0x45170f
cmp word [esp + 0x7a], bx
jle 0x45170f
mov edx, 1
jmp 0x451711
xor edx, edx
add edx, ecx
cmp edx, 1
jl 0x452be2
mov esi, dword [esp + 0xa8]
lea eax, [esp + 0x78]
push esi
push eax
call dword [sym.imp.Staff2.dll_void___cdecl_STAFFGetNextPIS_struct_PIS___struct_PIS__]
mov ax, word [esp + 0x78]
add esp, 8
cmp word [esp + 0x78], ax
jne 0x4516ac
mov ecx, dword [esp + 0x72]
cmp word [esp + 0x7a], cx
jne 0x4516a5
mov edx, dword [esp + 0x20]
mov edi, dword [edx + 0x3f74]
lea ebx, [edx + 0x37d8]
lea esi, [edx + 0x42d0]
mov dword [esp + 0x40], edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x8c], esi
mov edi, dword [esi + 0x60]
test edi, edi
je 0x452be2
cmp dword [edx + 0x43a4], 1
jne 0x452be2
mov esi, dword [esp + 0x14]
movsx ecx, cx
movsx edx, ax
push ecx
push edx
mov ecx, esi
call fcn.00472cf0
movsx ecx, word [esp + 0x70]
mov dword [esp + 0x28], eax
movsx eax, word [esp + 0x72]
push eax
push ecx
mov ecx, esi
call fcn.00472c10
movsx edx, word [esp + 0x72]
mov dword [esp + 0x38], eax
push edx
movsx eax, word [esp + 0x74]
push eax
mov ecx, esi
call fcn.00472ca0
mov edx, dword [esp + 0x88]
mov ecx, dword [ebx + 0xaf0]
mov edi, eax
push 1
mov eax, dword [edx + 0xaf0]
push ecx
push eax
mov ecx, esi
call fcn.00464360
mov ecx, dword [ebx + 0xaf0]
push 1
push ecx
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.004644b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x98]
cmp ecx, eax
je 0x452be2
cmp dword [eax + 0x43a4], 2
je 0x452be2
mov ecx, dword [ecx + 0x21b0]
test ecx, ecx
jle 0x451839
cmp ecx, dword [eax + 0x21b0]
je 0x452be2
mov edx, dword [ebx + 0xaf0]
push 1
push edx
mov ecx, esi
call fcn.004644b0
mov ecx, dword [esp + 0x60]
cmp ecx, eax
je 0x45186a
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x452be2
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x45187f
jmp 0x452be2
cmp ecx, 1
jne 0x45187f
cmp eax, ecx
jne 0x45187f
mov eax, dword [esp + 0x24]
test eax, eax
je 0x452be2
mov al, byte [ebx + 0x24]
test al, al
jl 0x451a38
cmp al, 9
jg 0x451a38
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
je 0x4518be
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4518be
mov eax, dword [ebx + 0x980]
test eax, eax
jne 0x4518be
mov eax, dword [ebx + 0xa3c]
test eax, eax
je 0x452be2
mov edx, dword [ebx + 0x980]
test edx, edx
jne 0x45195f
mov eax, dword [ebx + 0xa3c]
test eax, eax
jne 0x45195f
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x45195f
cmp edi, 1
je 0x452be2
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
jne 0x452be2
cmp dword [esp + 0x38], 1
je 0x452be2
test eax, eax
je 0x45190e
test ecx, ecx
jne 0x45195f
mov eax, dword [esi + 0x3664]
cmp eax, 2
je 0x451928
cmp eax, 3
je 0x451928
cmp eax, 4
mov ecx, 0xf
jne 0x45192d
mov ecx, 0x14
mov edi, dword [esp + 0x88]
cmp dword [edi + 0x20], ecx
jbe 0x452be2
cmp eax, 2
je 0x451951
cmp eax, 3
je 0x451951
cmp eax, 4
mov eax, 0xf
jne 0x451956
mov eax, 0x14
cmp dword [ebx + 0x20], eax
jbe 0x452be2
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x980]
test ecx, ecx
jbe 0x451978
test edx, edx
je 0x452be2
mov ecx, dword [eax + 0xa3c]
test ecx, ecx
ja 0x452be2
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x1c]
and al, 8
cmp al, 8
jne 0x45199b
test edx, edx
je 0x452be2
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x452be2
test edx, edx
jne 0x451a38
mov eax, dword [ebx + 0xa3c]
test eax, eax
jne 0x451a38
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x451a38
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x451a38
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x451a38
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x451a38
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x451a38
mov ecx, dword [esp + 0x88]
mov al, byte [ecx + 0x24]
test al, al
jl 0x451a38
cmp al, 8
jg 0x451a38
cmp byte [ebx + 0x24], 8
jg 0x451a38
mov edx, ecx
push ebx
push edx
mov ecx, esi
call fcn.00473630
test eax, eax
jne 0x451a38
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x20]
push eax
push ecx
push ebx
mov ecx, esi
call fcn.00473680
mov ecx, dword [esp + 0x20]
call fcn.004400b0
test eax, eax
jne 0x451a38
mov ecx, dword [esp + 0x20]
push 3
call fcn.0043a710
mov edx, dword [esp + 0x18]
mov dword [esp + 0x58], 0
mov ax, word [edx + 0x1c]
and eax, 0x100
cmp eax, 0x100
jne 0x451b17
mov eax, dword [ebx + 0x980]
test eax, eax
jne 0x451b17
mov eax, dword [ebx + 0xa3c]
test eax, eax
jne 0x451b17
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x94]
mov edx, dword [eax + 0x44]
add ecx, edx
cmp ecx, 0x1b58
mov eax, ecx
jb 0x451a95
mov eax, 0x1b58
lea edx, [eax + eax*2]
mov eax, 0x5d9f7391
mul edx
shr edx, 7
add edx, 0x14
cmp edx, 0x50
jbe 0x451ab1
mov esi, 0x50
jmp 0x451afd
cmp ecx, 0x1b58
mov eax, ecx
jb 0x451ac0
mov eax, 0x1b58
lea edx, [eax + eax*2]
mov eax, 0x5d9f7391
mul edx
shr edx, 7
add edx, 0x14
cmp edx, 0x14
jae 0x451adc
mov esi, 0x14
jmp 0x451afd
cmp ecx, 0x1b58
mov eax, ecx
jb 0x451aeb
mov eax, 0x1b58
lea ecx, [eax + eax*2]
mov eax, 0x5d9f7391
mul ecx
mov esi, edx
shr esi, 7
add esi, 0x14
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0x64
idiv ecx
cmp edx, esi
jae 0x451b17
mov dword [esp + 0x58], 1
mov dx, word [ebx + 0x850]
mov eax, edx
mov dword [esp + 0x34], edx
and eax, 0x1000
test ax, ax
jne 0x451c67
mov esi, dword [esp + 0x2c]
mov bx, word [esi + 0x84e]
mov cl, bl
and cl, 2
cmp cl, 2
je 0x451b66
mov eax, edx
and eax, 0x400
cmp eax, 0x400
je 0x451b66
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x38], 0
jmp 0x451b85
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0xa58]
mov dword [esp + 0x38], eax
mov ecx, dword [edi + 0x98]
cmp eax, ecx
jb 0x451b85
mov dword [esp + 0x38], ecx
mov cl, bl
and cl, 0x40
cmp cl, 0x40
je 0x451ba1
and edx, 0x400
cmp edx, 0x400
jne 0x451c2d
mov cl, byte [esi + 0x6e0]
cmp cl, 1
jne 0x451be3
mov ax, word [esi + 0x6e2]
cmp ax, 0x34
jl 0x451bbf
cmp ax, 0x3f
jle 0x451c13
cmp ax, 0x89
je 0x451c13
cmp ax, 0x8a
je 0x451c13
cmp ax, 0xf0
je 0x451c13
cmp ax, 0xf1
je 0x451c13
cmp ax, 0xbe
jl 0x451be3
cmp ax, 0xc2
jle 0x451c13
cmp cl, 6
jne 0x451c2d
mov ax, word [esi + 0x6e2]
cmp ax, 0x54
je 0x451c13
cmp ax, 0x72
je 0x451c13
cmp ax, 0x86
je 0x451c13
cmp ax, 0x9a
je 0x451c13
cmp ax, 0xae
je 0x451c13
cmp ax, 0xc2
jne 0x451c2d
mov eax, dword [edi + 0x98]
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
mov eax, 0x51eb851f
mul edx
mov esi, edx
shr esi, 5
jmp 0x451c2f
xor esi, esi
and ebx, 0x4000
cmp ebx, 0x4000
jne 0x451c4d
mov eax, 0xcccccccd
mul dword [edi + 0x98]
shr edx, 2
jmp 0x451c4f
xor edx, edx
mov ecx, dword [edi + 0x98]
mov ebx, dword [edi + 0x48]
mov eax, dword [esp + 0x38]
add ecx, ebx
add ecx, edx
add ecx, esi
jmp 0x451ed8
mov si, word [ebx + 0x84e]
mov eax, esi
and eax, 2
cmp ax, 2
mov dword [esp + 0x68], eax
je 0x451c9c
mov eax, edx
and eax, 0x400
cmp eax, 0x400
je 0x451c9c
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x38], 0
jmp 0x451cbb
mov edi, dword [esp + 0x8c]
mov eax, dword [ebx + 0xa58]
mov dword [esp + 0x38], eax
mov ecx, dword [edi + 0x98]
cmp eax, ecx
jb 0x451cbb
mov dword [esp + 0x38], ecx
mov eax, esi
and eax, 0x40
cmp ax, 0x40
mov dword [esp + 0x6c], eax
je 0x451cdc
and edx, 0x400
cmp edx, 0x400
jne 0x451d6a
mov cl, byte [ebx + 0x6e0]
cmp cl, 1
jne 0x451d1e
mov ax, word [ebx + 0x6e2]
cmp ax, 0x34
jl 0x451cfa
cmp ax, 0x3f
jle 0x451d4e
cmp ax, 0x89
je 0x451d4e
cmp ax, 0x8a
je 0x451d4e
cmp ax, 0xf0
je 0x451d4e
cmp ax, 0xf1
je 0x451d4e
cmp ax, 0xbe
jl 0x451d1e
cmp ax, 0xc2
jle 0x451d4e
cmp cl, 6
jne 0x451d6a
mov ax, word [ebx + 0x6e2]
cmp ax, 0x54
je 0x451d4e
cmp ax, 0x72
je 0x451d4e
cmp ax, 0x86
je 0x451d4e
cmp ax, 0x9a
je 0x451d4e
cmp ax, 0xae
je 0x451d4e
cmp ax, 0xc2
jne 0x451d6a
mov eax, dword [edi + 0x98]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov eax, 0x51eb851f
mul ecx
shr edx, 5
mov dword [esp + 0x54], edx
jmp 0x451d72
mov dword [esp + 0x54], 0
and esi, 0x4000
cmp si, 0x4000
jne 0x451d93
mov eax, 0xcccccccd
mul dword [edi + 0x98]
shr edx, 2
mov dword [esp + 0x50], edx
jmp 0x451d9b
mov dword [esp + 0x50], 0
cmp word [esp + 0x68], 2
mov edx, dword [esp + 0x34]
je 0x451db9
mov eax, edx
and eax, 0x400
cmp eax, 0x400
je 0x451db9
xor ebx, ebx
jmp 0x451dcd
mov eax, dword [ebx + 0xa58]
mov ecx, dword [edi + 0x98]
cmp eax, ecx
mov ebx, eax
jb 0x451dcd
mov ebx, ecx
cmp word [esp + 0x6c], 0x40
je 0x451de7
and edx, 0x400
cmp edx, 0x400
jne 0x451e7e
mov edx, dword [esp + 0x2c]
mov cl, byte [edx + 0x6e0]
cmp cl, 1
jne 0x451e2d
mov ax, word [edx + 0x6e2]
cmp ax, 0x34
jl 0x451e09
cmp ax, 0x3f
jle 0x451e5d
cmp ax, 0x89
je 0x451e5d
cmp ax, 0x8a
je 0x451e5d
cmp ax, 0xf0
je 0x451e5d
cmp ax, 0xf1
je 0x451e5d
cmp ax, 0xbe
jl 0x451e2d
cmp ax, 0xc2
jle 0x451e5d
cmp cl, 6
jne 0x451e7e
mov ax, word [edx + 0x6e2]
cmp ax, 0x54
je 0x451e5d
cmp ax, 0x72
je 0x451e5d
cmp ax, 0x86
je 0x451e5d
cmp ax, 0x9a
je 0x451e5d
cmp ax, 0xae
je 0x451e5d
cmp ax, 0xc2
jne 0x451e7e
mov ecx, dword [esp + 0x8c]
mov eax, dword [ecx + 0x98]
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
mov eax, 0x51eb851f
mul edx
mov ecx, edx
shr ecx, 5
jmp 0x451e80
xor ecx, ecx
cmp si, 0x4000
jne 0x451e9e
mov edx, dword [esp + 0x8c]
mov eax, 0xcccccccd
mul dword [edx + 0x98]
shr edx, 2
jmp 0x451ea0
xor edx, edx
mov eax, dword [esp + 0x8c]
add edx, ecx
mov edi, dword [eax + 0x48]
mov esi, dword [eax + 0x98]
add edx, edi
mov eax, 0xcccccccd
add edx, esi
add edx, ebx
mul edx
mov ecx, edx
mov edx, dword [esp + 0x54]
shr ecx, 2
mov eax, dword [esp + 0x38]
add ecx, edi
add ecx, esi
mov esi, dword [esp + 0x50]
add ecx, esi
add ecx, edx
mov edi, dword [esp + 0x88]
add ecx, eax
mov bx, word [edi + 0x84e]
mov al, bl
and al, 2
cmp al, 2
je 0x451f09
mov dx, word [edi + 0x850]
and edx, 0x400
cmp edx, 0x400
je 0x451f09
xor esi, esi
jmp 0x451f1b
mov eax, dword [edi + 0xa58]
mov esi, dword [ebp + 0x98]
cmp eax, esi
jae 0x451f1b
mov esi, eax
mov al, bl
and al, 0x40
cmp al, 0x40
je 0x451f3c
mov dx, word [edi + 0x850]
and edx, 0x400
cmp edx, 0x400
jne 0x451fc8
mov dl, byte [edi + 0x6e0]
cmp dl, 1
jne 0x451f7e
mov ax, word [edi + 0x6e2]
cmp ax, 0x34
jl 0x451f5a
cmp ax, 0x3f
jle 0x451fae
cmp ax, 0x89
je 0x451fae
cmp ax, 0x8a
je 0x451fae
cmp ax, 0xf0
je 0x451fae
cmp ax, 0xf1
je 0x451fae
cmp ax, 0xbe
jl 0x451f7e
cmp ax, 0xc2
jle 0x451fae
cmp dl, 6
jne 0x451fc8
mov ax, word [edi + 0x6e2]
cmp ax, 0x54
je 0x451fae
cmp ax, 0x72
je 0x451fae
cmp ax, 0x86
je 0x451fae
cmp ax, 0x9a
je 0x451fae
cmp ax, 0xae
je 0x451fae
cmp ax, 0xc2
jne 0x451fc8
mov eax, dword [ebp + 0x98]
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
mov eax, 0x51eb851f
mul edx
mov edi, edx
shr edi, 5
jmp 0x451fca
xor edi, edi
and ebx, 0x4000
cmp ebx, 0x4000
jne 0x451fe8
mov eax, 0xcccccccd
mul dword [ebp + 0x98]
shr edx, 2
jmp 0x451fea
xor edx, edx
movsx ebx, word [esp + 0xa0]
mov eax, dword [esp + 0x18]
push ebx
push eax
mov eax, dword [esp + 0x98]
push eax
mov eax, dword [ebp + 0x48]
add esi, eax
push ecx
mov ecx, dword [esp + 0x24]
add esi, edx
add esi, edi
mov edi, dword [ebp + 0x98]
add esi, edi
push esi
call fcn.0045fab0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], 1
mov dx, word [ecx + 0x1c]
and edx, 0x100
cmp edx, 0x100
jne 0x452042
test eax, eax
je 0x452049
cmp dword [esp + 0x58], 1
jne 0x45208c
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x18]
mov ecx, 0xb
mov eax, dword [esp + 0x98]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 1
mov dword [esp + 0x20], eax
movsw word es:[edi], word [esi]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x8c], ebp
jmp 0x452097
cmp dword [esp + 0x38], 1
jne 0x452a35
mov edx, dword [esp + 0x94]
lea eax, [esp + 0x70]
push edx
push eax
call dword [sym.imp.Staff2.dll_char___cdecl_STAFFGetDirection_struct_PIS___struct_PIS__]
mov edi, dword [esp + 0x20]
add esp, 8
cmp al, 5
mov byte [edi + 0x18], al
jne 0x4520bc
mov byte [edi + 0x18], 2
mov cl, byte [edi + 0x18]
lea edx, [edi + 1]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
call fcn.004884b0
call dword [sym.imp.rm3944.dll_NewCheckForMovingAttack2]
jg 0x4521f4
je 0x4521a0
cmp ebx, 0x19
je 0x4520ed
cmp ebx, 0x2d
jne 0x453aef
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0xac]
push esi
push eax
call dword [sym.imp.MSVCRT.dll__stricmp]
mov ecx, dword [esp + 0x2c]
add esp, 8
test eax, eax
jne 0x452141
test ecx, ecx
jne 0x45211e
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x45211e
mov eax, 1
jmp 0x452120
xor eax, eax
mov edx, dword [esp + 0x34]
push edx
push ecx
mov ecx, dword [ebp + 0x18]
push eax
mov eax, dword [esp + 0x90]
mov edx, dword [ebp + 0x30]
push eax
mov eax, dword [ebp + 0x2c]
add eax, ecx
lea ecx, [eax + eax*2]
shr ecx, 1
jmp 0x452170
test ecx, ecx
jne 0x452154
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x452154
mov eax, 1
jmp 0x452156
xor eax, eax
mov edx, dword [esp + 0x34]
mov ebx, dword [ebp + 0x2c]
push edx
mov edx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x30]
push eax
mov eax, dword [esp + 0x90]
push eax
add ecx, ebx
mov eax, dword [esp + 0x9c]
add ecx, edx
mov edx, dword [esp + 0x30]
push ecx
push edx
push eax
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xa4]
push esi
push ecx
mov ecx, dword [esp + 0x38]
push ebp
push edx
call fcn.0045f5d0
jmp 0x452aba
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x4521b7
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x4521b7
mov eax, 1
jmp 0x4521b9
xor eax, eax
mov ecx, dword [ebp + 0x2c]
mov esi, dword [ebp + 0x18]
add ecx, esi
mov esi, dword [esp + 0x34]
push esi
push edx
push eax
mov eax, ecx
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0x38]
shr eax, 2
push edx
mov edx, dword [esp + 0x30]
call dword [sym.imp.rm3944.dll_NewMovingAttacks]
mov eax, dword [ebp + 0x30]
add ecx, eax
mov eax, dword [esp + 0x9c]
push ecx
push edx
push eax
jmp 0x452180
sub ebx, 0x16a
je 0x4529c5
sub ebx, 0x14
jne 0x453aef
mov eax, 0x91a2b3c5
mul dword [ebp + 0x98]
shr edx, 9
inc edx
mov eax, dword [esp + 0x90]
imul edx, dword [ebp + 0x2c]
mov ax, word [eax + 0x14]
lea esi, [edx + edx*2]
mov edx, dword [ebp + 0x30]
shr esi, 1
add esi, edx
test ax, ax
jle 0x452248
mov edx, dword [esp + 0x14]
movsx ecx, ax
push ecx
push 1
lea ecx, [edx + 0x32e8]
jmp 0x45225a
mov ecx, dword [esp + 0x14]
movsx eax, ax
neg eax
push eax
push 6
add ecx, 0x32e8
call fcn.00484e80
test eax, eax
je 0x45296b
mov cl, byte [eax + 0x54]
cmp cl, 1
je 0x452813
cmp cl, 3
je 0x452813
mov eax, dword [eax + 0x30]
cmp eax, 0x1c2
jl 0x4523e3
cmp eax, 0x1f4
jge 0x4523ee
mov edi, dword [esp + 0x88]
mov bx, word [edi + 0x84e]
mov dl, bl
and dl, 2
cmp dl, 2
je 0x4522c4
mov ax, word [edi + 0x850]
and eax, 0x400
cmp eax, 0x400
je 0x4522c4
xor esi, esi
jmp 0x4522d8
mov eax, dword [edi + 0xa58]
mov ecx, dword [ebp + 0x98]
cmp eax, ecx
mov esi, eax
jb 0x4522d8
mov esi, ecx
mov cl, bl
and cl, 0x40
cmp cl, 0x40
je 0x4522fb
mov dx, word [edi + 0x850]
and edx, 0x400
cmp edx, 0x400
jne 0x452387
mov cl, byte [edi + 0x6e0]
cmp cl, 1
jne 0x45233d
mov ax, word [edi + 0x6e2]
cmp ax, 0x34
jl 0x452319
cmp ax, 0x3f
jle 0x45236d
cmp ax, 0x89
je 0x45236d
cmp ax, 0x8a
je 0x45236d
cmp ax, 0xf0
je 0x45236d
cmp ax, 0xf1
je 0x45236d
cmp ax, 0xbe
jl 0x45233d
cmp ax, 0xc2
jle 0x45236d
cmp cl, 6
jne 0x452387
mov ax, word [edi + 0x6e2]
cmp ax, 0x54
je 0x45236d
cmp ax, 0x72
je 0x45236d
cmp ax, 0x86
je 0x45236d
cmp ax, 0x9a
je 0x45236d
cmp ax, 0xae
je 0x45236d
cmp ax, 0xc2
jne 0x452387
mov eax, dword [ebp + 0x98]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov eax, 0x51eb851f
mul ecx
mov ecx, edx
shr ecx, 5
jmp 0x452389
xor ecx, ecx
and ebx, 0x4000
cmp ebx, 0x4000
jne 0x4523a7
mov eax, 0xcccccccd
mul dword [ebp + 0x98]
shr edx, 2
jmp 0x4523a9
xor edx, edx
mov ebx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x98]
add edx, ecx
add edx, ebx
add edx, esi
add edx, eax
mov eax, 0x91a2b3c5
mul edx
shr edx, 9
inc edx
imul edx, dword [ebp + 0x2c]
lea eax, [edx + edx*2]
shr eax, 1
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0x30]
shr edx, 2
lea esi, [edx + eax + 0x3e8]
jmp 0x452972
cmp eax, 0x1f4
jl 0x45254e
cmp eax, 0x226
jge 0x452559
mov edi, dword [esp + 0x88]
mov bx, word [edi + 0x84e]
mov cl, bl
and cl, 2
cmp cl, 2
je 0x45242a
mov dx, word [edi + 0x850]
and edx, 0x400
cmp edx, 0x400
je 0x45242a
xor esi, esi
jmp 0x45243e
mov eax, dword [edi + 0xa58]
mov ecx, dword [ebp + 0x98]
cmp eax, ecx
mov esi, eax
jb 0x45243e
mov esi, ecx
mov al, bl
and al, 0x40
cmp al, 0x40
je 0x45245f
mov cx, word [edi + 0x850]
and ecx, 0x400
cmp ecx, 0x400
jne 0x4524eb
mov cl, byte [edi + 0x6e0]
cmp cl, 1
jne 0x4524a1
mov ax, word [edi + 0x6e2]
cmp ax, 0x34
jl 0x45247d
cmp ax, 0x3f
jle 0x4524d1
cmp ax, 0x89
je 0x4524d1
cmp ax, 0x8a
je 0x4524d1
cmp ax, 0xf0
je 0x4524d1
cmp ax, 0xf1
je 0x4524d1
cmp ax, 0xbe
jl 0x4524a1
cmp ax, 0xc2
jle 0x4524d1
cmp cl, 6
jne 0x4524eb
mov ax, word [edi + 0x6e2]
cmp ax, 0x54
je 0x4524d1
cmp ax, 0x72
je 0x4524d1
cmp ax, 0x86
je 0x4524d1
cmp ax, 0x9a
je 0x4524d1
cmp ax, 0xae
je 0x4524d1
cmp ax, 0xc2
jne 0x4524eb
mov eax, dword [ebp + 0x98]
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
mov eax, 0x51eb851f
mul edx
mov ecx, edx
shr ecx, 5
jmp 0x4524ed
xor ecx, ecx
and ebx, 0x4000
cmp ebx, 0x4000
jne 0x45250b
mov eax, 0xcccccccd
mul dword [ebp + 0x98]
shr edx, 2
jmp 0x45250d
xor edx, edx
mov eax, dword [ebp + 0x98]
add edx, ecx
mov ecx, dword [ebp + 0x48]
add edx, esi
add edx, ecx
add edx, eax
mov eax, 0x91a2b3c5
mul edx
shr edx, 9
inc edx
imul edx, dword [ebp + 0x2c]
lea eax, [edx + edx*2]
shr eax, 1
lea ecx, [eax + eax*2]
mov eax, 0xcccccccd
mul ecx
mov eax, dword [ebp + 0x30]
shr edx, 2
lea esi, [edx + eax + 0x7d0]
jmp 0x452972
cmp eax, 0x226
jl 0x4526ad
cmp eax, 0x258
jge 0x4526b8
mov edi, dword [esp + 0x88]
mov bx, word [edi + 0x84e]
mov cl, bl
and cl, 2
cmp cl, 2
je 0x452595
mov dx, word [edi + 0x850]
and edx, 0x400
cmp edx, 0x400
je 0x452595
xor esi, esi
jmp 0x4525a9
mov eax, dword [edi + 0xa58]
mov ecx, dword [ebp + 0x98]
cmp eax, ecx
mov esi, eax
jb 0x4525a9
mov esi, ecx
mov al, bl
and al, 0x40
cmp al, 0x40
je 0x4525ca
mov cx, word [edi + 0x850]
and ecx, 0x400
cmp ecx, 0x400
jne 0x452656
mov cl, byte [edi + 0x6e0]
cmp cl, 1
jne 0x45260c
mov ax, word [edi + 0x6e2]
cmp ax, 0x34
jl 0x4525e8
cmp ax, 0x3f
jle 0x45263c
cmp ax, 0x89
je 0x45263c
cmp ax, 0x8a
je 0x45263c
cmp ax, 0xf0
je 0x45263c
cmp ax, 0xf1
je 0x45263c
cmp ax, 0xbe
jl 0x45260c
cmp ax, 0xc2
jle 0x45263c
cmp cl, 6
jne 0x452656
mov ax, word [edi + 0x6e2]
cmp ax, 0x54
je 0x45263c
cmp ax, 0x72
je 0x45263c
cmp ax, 0x86
je 0x45263c
cmp ax, 0x9a
je 0x45263c
cmp ax, 0xae
je 0x45263c
cmp ax, 0xc2
jne 0x452656
mov eax, dword [ebp + 0x98]
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
mov eax, 0x51eb851f
mul edx
mov ecx, edx
shr ecx, 5
jmp 0x452658
xor ecx, ecx
and ebx, 0x4000
cmp ebx, 0x4000
jne 0x452676
mov eax, 0xcccccccd
mul dword [ebp + 0x98]
shr edx, 2
jmp 0x452678
xor edx, edx
mov eax, dword [ebp + 0x98]
add edx, ecx
mov ecx, dword [ebp + 0x48]
add edx, esi
add edx, ecx
mov ecx, dword [ebp + 0x30]
add edx, eax
mov eax, 0x91a2b3c5
mul edx
shr edx, 9
inc edx
imul edx, dword [ebp + 0x2c]
lea eax, [edx + edx*2]
shr eax, 2
lea esi, [eax + ecx + 0xbb8]
jmp 0x452972
cmp eax, 0x258
jl 0x45296b
mov edi, dword [esp + 0x88]
mov bx, word [edi + 0x84e]
mov dl, bl
and dl, 2
cmp dl, 2
je 0x4526e7
mov ax, word [edi + 0x850]
and eax, 0x400
cmp eax, 0x400
je 0x4526e7
xor esi, esi
jmp 0x4526fb
mov eax, dword [edi + 0xa58]
mov ecx, dword [ebp + 0x98]
cmp eax, ecx
mov esi, eax
jb 0x4526fb
mov esi, ecx
mov cl, bl
and cl, 0x40
cmp cl, 0x40
je 0x45271e
mov dx, word [edi + 0x850]
and edx, 0x400
cmp edx, 0x400
jne 0x4527aa
mov cl, byte [edi + 0x6e0]
cmp cl, 1
jne 0x452760
mov ax, word [edi + 0x6e2]
cmp ax, 0x34
jl 0x45273c
cmp ax, 0x3f
jle 0x452790
cmp ax, 0x89
je 0x452790
cmp ax, 0x8a
je 0x452790
cmp ax, 0xf0
je 0x452790
cmp ax, 0xf1
je 0x452790
cmp ax, 0xbe
jl 0x452760
cmp ax, 0xc2
jle 0x452790
cmp cl, 6
jne 0x4527aa
mov ax, word [edi + 0x6e2]
cmp ax, 0x54
je 0x452790
cmp ax, 0x72
je 0x452790
cmp ax, 0x86
je 0x452790
cmp ax, 0x9a
je 0x452790
cmp ax, 0xae
je 0x452790
cmp ax, 0xc2
jne 0x4527aa
mov eax, dword [ebp + 0x98]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov eax, 0x51eb851f
mul ecx
mov ecx, edx
shr ecx, 5
jmp 0x4527ac
xor ecx, ecx
and ebx, 0x4000
cmp ebx, 0x4000
jne 0x4527ca
mov eax, 0xcccccccd
mul dword [ebp + 0x98]
shr edx, 2
jmp 0x4527cc
xor edx, edx
mov eax, dword [ebp + 0x98]
add edx, ecx
mov ecx, dword [ebp + 0x48]
add edx, esi
add edx, ecx
add edx, eax
mov eax, 0x91a2b3c5
mul edx
shr edx, 9
inc edx
imul edx, dword [ebp + 0x2c]
lea eax, [edx + edx*2]
shr eax, 1
lea edx, [eax*8]
sub edx, eax
mov eax, 0xcccccccd
mul edx
mov eax, dword [ebp + 0x30]
shr edx, 4
lea esi, [edx + eax + 0xfa0]
jmp 0x452972
mov edi, dword [esp + 0x88]
mov bx, word [edi + 0x84e]
mov cl, bl
and cl, 2
cmp cl, 2
je 0x452844
mov dx, word [edi + 0x850]
and edx, 0x400
cmp edx, 0x400
je 0x452844
xor esi, esi
jmp 0x452858
mov eax, dword [edi + 0xa58]
mov ecx, dword [ebp + 0x98]
cmp eax, ecx
mov esi, eax
jb 0x452858
mov esi, ecx
mov al, bl
and al, 0x40
cmp al, 0x40
je 0x452879
mov cx, word [edi + 0x850]
and ecx, 0x400
cmp ecx, 0x400
jne 0x452905
mov cl, byte [edi + 0x6e0]
cmp cl, 1
jne 0x4528bb
mov ax, word [edi + 0x6e2]
cmp ax, 0x34
jl 0x452897
cmp ax, 0x3f
jle 0x4528eb
cmp ax, 0x89
je 0x4528eb
cmp ax, 0x8a
je 0x4528eb
cmp ax, 0xf0
je 0x4528eb
cmp ax, 0xf1
je 0x4528eb
cmp ax, 0xbe
jl 0x4528bb
cmp ax, 0xc2
jle 0x4528eb
cmp cl, 6
jne 0x452905
mov ax, word [edi + 0x6e2]
cmp ax, 0x54
je 0x4528eb
cmp ax, 0x72
je 0x4528eb
cmp ax, 0x86
je 0x4528eb
cmp ax, 0x9a
je 0x4528eb
cmp ax, 0xae
je 0x4528eb
cmp ax, 0xc2
jne 0x452905
mov eax, dword [ebp + 0x98]
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
mov eax, 0x51eb851f
mul edx
mov ecx, edx
shr ecx, 5
jmp 0x452907
xor ecx, ecx
and ebx, 0x4000
cmp ebx, 0x4000
jne 0x452925
mov eax, 0xcccccccd
mul dword [ebp + 0x98]
shr edx, 2
jmp 0x452927
xor edx, edx
mov ebx, dword [ebp + 0x48]
mov eax, 0x91a2b3c5
add ebx, edx
add ebx, ecx
mov ecx, dword [ebp + 0x98]
add ebx, esi
add ebx, ecx
mul ebx
shr edx, 9
inc edx
imul edx, dword [ebp + 0x2c]
lea eax, [edx + edx*2]
shr eax, 1
lea ecx, [eax*8]
sub ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [ebp + 0x30]
shr edx, 4
lea esi, [edx + eax + 0x1388]
jmp 0x452972
mov edi, dword [esp + 0x88]
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x452989
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x452989
mov eax, 1
jmp 0x45298b
xor eax, eax
mov edx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x90]
push eax
mov eax, dword [esp + 0xa8]
push esi
mov esi, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push esi
push eax
push ebp
push edi
call fcn.0045f5d0
jmp 0x452ab6
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x4529dc
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x4529dc
mov ecx, 1
jmp 0x4529de
xor ecx, ecx
mov eax, dword [ebp + 0x2c]
mov esi, dword [ebp + 0x18]
add eax, esi
mov esi, dword [esp + 0x34]
mov ebx, dword [ebp + 0x30]
push esi
push edx
mov edx, eax
shr edx, 1
lea eax, [eax + eax*2]
mov esi, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x90]
add edx, eax
mov eax, dword [esp + 0xa4]
add edx, ebx
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0xa0]
push edx
push esi
push eax
push ebp
push ecx
mov ecx, dword [esp + 0x40]
call fcn.0045f5d0
jmp 0x452aba
mov esi, dword [esp + 0x2c]
mov dx, word [esi + 0x850]
and edx, 0x2000
test dx, dx
je 0x452ab6
mov eax, dword [esi + 0x980]
test eax, eax
jne 0x452ab6
mov eax, dword [esi + 0xa3c]
test eax, eax
jne 0x452ab6
mov edi, dword [esp + 0x88]
mov ebx, dword [esp + 0x98]
mov ecx, ebx
mov eax, dword [edi + 0x7a0]
push eax
call fcn.004396e0
mov eax, dword [edi + 0x7a0]
test eax, eax
jne 0x452aa8
test byte [edi + 0x84c], 0x40
je 0x452aa8
push 1
push 0
push 6
mov ecx, ebx
call fcn.0042cb70
mov eax, dword [esp + 0x90]
and word [eax + 0x1a], 0xffbf
mov ecx, dword [edi + 0x7a4]
push ecx
mov ecx, ebx
call fcn.00439790
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
add ebx, 0x2f
test eax, eax
mov dword [esp + 0x30], ebx
je 0x452b8b
mov eax, dword [esp + 0x40]
test eax, eax
je 0x452ae5
cmp eax, dword [esi + 0x79c]
je 0x452b8b
mov esi, dword [esi + 0x79c]
test esi, esi
jne 0x452b0a
mov edx, dword [esp + 0xb0]
lea ecx, [edi + 0x1a]
xor eax, eax
mov byte [ebx + edx - 1], 0xff
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x452b97
mov edx, dword [esp + 0x8c]
mov ecx, dword [edx + 8]
cmp esi, ecx
jb 0x452b26
mov eax, dword [esp + 0xb0]
mov byte [ebx + eax - 1], 0x64
jmp 0x452b97
cmp esi, 0x1312d00
jbe 0x452b56
mov eax, 0x51eb851f
mul ecx
mov ecx, edx
mov eax, esi
shr ecx, 5
xor edx, edx
div ecx
cmp al, 0x64
jae 0x452b79
mov edx, dword [esp + 0xb0]
and eax, 0xff
mov byte [ebx + edx - 1], al
jmp 0x452b97
lea eax, [esi + esi*4]
xor edx, edx
lea eax, [eax + eax*4]
shl eax, 2
div ecx
cmp al, 0x64
jae 0x452b79
mov edx, dword [esp + 0xb0]
and eax, 0xff
mov byte [ebx + edx - 1], al
jmp 0x452b97
mov edx, dword [esp + 0xb0]
mov eax, 0x64
mov byte [ebx + edx - 1], al
jmp 0x452b97
mov eax, dword [esp + 0xb0]
mov byte [ebx + eax - 1], 0xfe
add edi, 0x2f
cmp ebx, 0x582
mov dword [esp + 0x18], edi
jb 0x452be2
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
push 0x582
push esi
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
call fcn.0045f9b0
xor eax, eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x94]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x70]
push ecx
push edx
push eax
push ebx
lea ecx, [esp + 0x54]
push edi
push ecx
mov ecx, dword [esp + 0x60]
call fcn.00488700
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x45164b
push 0xffffffffffffffff
mov ecx, esi
call fcn.00464990
mov ecx, esi
mov dword [esp + 0x8c], eax
call fcn.00464a70
cmp eax, 1
jne 0x452c5c
mov eax, dword [esp + 0x88]
mov edx, dword [esi + 0x3574]
push edx
mov ecx, dword [eax + 0xaf0]
push ecx
lea ecx, [esi + 0x3310]
call fcn.00402860
test eax, eax
je 0x453aae
mov eax, dword [esp + 0x8c]
test eax, eax
jle 0x452c90
cmp eax, 0x28
jg 0x452c90
mov edx, eax
mov eax, dword [esp + 0x88]
push edx
mov ecx, dword [eax + 0xaf0]
push ecx
lea ecx, [esi + 0x3310]
call fcn.00402700
test eax, eax
je 0x453aae
mov eax, dword [esi + 0x32c8]
lea ecx, [eax + 0x40]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x74]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x20]
push eax
push ebx
lea eax, [esp + 0x54]
push edi
push eax
call dword [edx + 0x44]
test eax, eax
je 0x453aae
mov eax, dword [esi + 0x32c4]
mov ecx, dword [esp + 0x88]
cmp eax, 0xb4
jne 0x452cd9
cmp dword [ecx + 0xaf0], 2
jne 0x452ce9
cmp eax, 0xb5
jne 0x452cfc
cmp dword [ecx + 0xaf0], 1
je 0x452cfc
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x11c]
cmp byte [edx], 0x57
je 0x453a73
lea eax, [esp + 0x70]
lea ecx, [esi + 0x323c]
push eax
push edi
call fcn.00486030
test eax, eax
je 0x453a73
mov cx, word [edi]
cmp cx, word [esp + 0x70]
jne 0x452d2e
mov dx, word [edi + 2]
cmp dx, word [esp + 0x72]
je 0x452df4
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax]
mov dword [esp + 0x78], ecx
mov dx, word [eax + 4]
mov word [esp + 0x7c], dx
mov esi, dword [esp + 0xa8]
mov bx, word [esi + 2]
mov di, word [esi]
movsx eax, word [esp + 0x7a]
movsx ecx, bx
sub eax, ecx
cdq
mov ecx, eax
movsx eax, word [esp + 0x78]
xor ecx, edx
sub ecx, edx
movsx edx, di
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x452d78
mov ecx, eax
mov dl, byte [esi + 4]
mov al, byte [esp + 0x7c]
cmp al, dl
je 0x452dae
test al, al
jne 0x452d95
cmp di, word [esp + 0x78]
jle 0x452d95
cmp bx, word [esp + 0x7a]
jg 0x452da7
test dl, dl
jne 0x452dae
cmp word [esp + 0x78], di
jle 0x452dae
cmp word [esp + 0x7a], bx
jle 0x452dae
mov edx, 1
jmp 0x452db0
xor edx, edx
add edx, ecx
cmp edx, 1
jl 0x453a73
mov esi, dword [esp + 0xa8]
lea eax, [esp + 0x78]
push esi
push eax
call dword [sym.imp.Staff2.dll_void___cdecl_STAFFGetNextPIS_struct_PIS___struct_PIS__]
mov cx, word [esp + 0x80]
add esp, 8
cmp cx, word [esp + 0x70]
jne 0x452d4b
mov dx, word [esp + 0x7a]
cmp dx, word [esp + 0x72]
jne 0x452d44
mov ecx, dword [esp + 0x1c]
xor edi, edi
cmp dword [ecx + 0x174], edi
jne 0x453a73
cmp byte [ecx + 0xec], 3
jne 0x452e18
cmp dword [ebp + 0x70], edi
je 0x453a73
mov esi, dword [esp + 0x88]
mov eax, dword [ecx + 0x120]
mov dword [esp + 0x40], eax
mov bx, word [esi + 0x84e]
mov dl, bl
and dl, 2
cmp dl, 2
je 0x452e56
mov ax, word [esi + 0x850]
and eax, 0x400
cmp eax, 0x400
je 0x452e56
mov dword [esp + 0x8c], edi
jmp 0x452e74
mov eax, dword [esi + 0xa58]
mov edx, dword [ebp + 0x98]
cmp eax, edx
mov dword [esp + 0x8c], eax
jb 0x452e74
mov dword [esp + 0x8c], edx
mov dl, bl
and dl, 0x40
cmp dl, 0x40
je 0x452e95
mov ax, word [esi + 0x850]
and eax, 0x400
cmp eax, 0x400
jne 0x452f1f
mov dl, byte [esi + 0x6e0]
cmp dl, 1
jne 0x452ed7
mov ax, word [esi + 0x6e2]
cmp ax, 0x34
jl 0x452eb3
cmp ax, 0x3f
jle 0x452f07
cmp ax, 0x89
je 0x452f07
cmp ax, 0x8a
je 0x452f07
cmp ax, 0xf0
je 0x452f07
cmp ax, 0xf1
je 0x452f07
cmp ax, 0xbe
jl 0x452ed7
cmp ax, 0xc2
jle 0x452f07
cmp dl, 6
jne 0x452f1f
mov ax, word [esi + 0x6e2]
cmp ax, 0x54
je 0x452f07
cmp ax, 0x72
je 0x452f07
cmp ax, 0x86
je 0x452f07
cmp ax, 0x9a
je 0x452f07
cmp ax, 0xae
je 0x452f07
cmp ax, 0xc2
jne 0x452f1f
mov eax, dword [ebp + 0x98]
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
mov eax, 0x51eb851f
mul edx
mov edi, edx
shr edi, 5
and ebx, 0x4000
cmp ebx, 0x4000
jne 0x452f3f
mov eax, 0xcccccccd
mul dword [ebp + 0x98]
mov ebx, edx
shr ebx, 2
jmp 0x452f41
xor ebx, ebx
movsx esi, word [esp + 0xa0]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x90]
push esi
push eax
mov eax, dword [esp + 0x1c]
push edx
push ecx
mov ecx, dword [eax + 0x32c8]
call fcn.0047ae20
mov ecx, dword [ebp + 0x48]
push eax
add ecx, ebx
mov ebx, dword [esp + 0x9c]
add ecx, edi
mov edi, dword [ebp + 0x98]
add ecx, ebx
add ecx, edi
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0045fab0
cmp eax, 1
mov dword [esp + 0x38], eax
jne 0x45386e
call dword [sym.imp.rm3944.dll_NewCheckForMovingAttack2]
jg 0x453077
je 0x453051
cmp esi, 0x19
je 0x452fb7
cmp esi, 0x2d
jne 0x453aef
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0xac]
lea edx, [edi + 1]
push edx
push eax
call dword [sym.imp.MSVCRT.dll__stricmp]
mov ecx, dword [esp + 0x8c]
add esp, 8
test eax, eax
push ecx
jne 0x453019
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x30]
add eax, ecx
lea ecx, [esp + 0x74]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
shr edx, 1
add edx, ebx
push edx
mov edx, dword [esp + 0xa0]
push eax
mov eax, dword [esp + 0x94]
push ecx
mov ecx, dword [esp + 0x24]
push edi
push edx
push ebp
push eax
call fcn.0045f890
jmp 0x453872
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x2c]
mov ebx, dword [ebp + 0x18]
add edx, eax
mov eax, dword [esp + 0x20]
add edx, ebx
push edx
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x78]
push eax
mov eax, dword [esp + 0x94]
push ecx
mov ecx, dword [esp + 0x24]
push edi
push edx
push ebp
push eax
call fcn.0045f890
jmp 0x453872
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x18]
mov eax, dword [esp + 0x84]
add ecx, edx
push eax
mov eax, ecx
shr eax, 2
call dword [sym.imp.rm3944.dll_NewMovingAttacks]
mov edx, dword [ebp + 0x30]
add eax, edx
push eax
jmp 0x453843
sub esi, 0x16a
je 0x453824
sub esi, 0x14
jne 0x453aef
mov eax, 0x91a2b3c5
mul dword [ebp + 0x98]
shr edx, 9
inc edx
imul edx, dword [ebp + 0x2c]
lea esi, [edx + edx*2]
mov edx, dword [ebp + 0x30]
shr esi, 1
add esi, edx
mov edx, dword [esp + 0x90]
mov ax, word [edx + 0x14]
test ax, ax
jle 0x4530cb
mov ecx, dword [esp + 0x14]
movsx eax, ax
push eax
push 1
add ecx, 0x32e8
jmp 0x4530dd
movsx edx, ax
mov eax, dword [esp + 0x14]
neg edx
push edx
push 6
lea ecx, [eax + 0x32e8]
call fcn.00484e80
test eax, eax
je 0x4537f0
mov cl, byte [eax + 0x54]
cmp cl, 1
je 0x45369c
cmp cl, 3
je 0x45369c
mov eax, dword [eax + 0x30]
cmp eax, 0x1c2
jl 0x453272
cmp eax, 0x1f4
jge 0x45327d
mov ebx, dword [esp + 0x88]
mov dx, word [ebx + 0x84e]
mov cl, dl
mov dword [esp + 0x8c], edx
and cl, 2
cmp cl, 2
je 0x45314e
mov ax, word [ebx + 0x850]
and eax, 0x400
cmp eax, 0x400
je 0x45314e
xor esi, esi
jmp 0x453162
mov eax, dword [ebx + 0xa58]
mov ecx, dword [ebp + 0x98]
cmp eax, ecx
mov esi, eax
jb 0x453162
mov esi, ecx
mov cl, dl
and cl, 0x40
cmp cl, 0x40
je 0x453183
mov ax, word [ebx + 0x850]
and eax, 0x400
cmp eax, 0x400
jne 0x453216
mov cl, byte [ebx + 0x6e0]
cmp cl, 1
jne 0x4531c5
mov ax, word [ebx + 0x6e2]
cmp ax, 0x34
jl 0x4531a1
cmp ax, 0x3f
jle 0x4531f5
cmp ax, 0x89
je 0x4531f5
cmp ax, 0x8a
je 0x4531f5
cmp ax, 0xf0
je 0x4531f5
cmp ax, 0xf1
je 0x4531f5
cmp ax, 0xbe
jl 0x4531c5
cmp ax, 0xc2
jle 0x4531f5
cmp cl, 6
jne 0x453216
mov ax, word [ebx + 0x6e2]
cmp ax, 0x54
je 0x4531f5
cmp ax, 0x72
je 0x4531f5
cmp ax, 0x86
je 0x4531f5
cmp ax, 0x9a
je 0x4531f5
cmp ax, 0xae
je 0x4531f5
cmp ax, 0xc2
jne 0x453216
mov eax, dword [ebp + 0x98]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov eax, 0x51eb851f
mul ecx
mov ecx, edx
mov edx, dword [esp + 0x8c]
shr ecx, 5
jmp 0x453218
xor ecx, ecx
and edx, 0x4000
cmp edx, 0x4000
jne 0x453236
mov eax, 0xcccccccd
mul dword [ebp + 0x98]
shr edx, 2
jmp 0x453238
xor edx, edx
mov eax, dword [ebp + 0x98]
add edx, ecx
mov ecx, dword [ebp + 0x48]
add edx, esi
add edx, ecx
add edx, eax
mov eax, 0x91a2b3c5
mul edx
shr edx, 9
inc edx
imul edx, dword [ebp + 0x2c]
lea eax, [edx + edx*2]
shr eax, 1
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0x30]
shr edx, 2
lea esi, [edx + eax + 0x3e8]
jmp 0x4537f7
cmp eax, 0x1f4
jl 0x4533db
cmp eax, 0x226
jge 0x4533e6
mov edx, dword [esp + 0x88]
mov bx, word [edx + 0x84e]
mov cl, bl
and cl, 2
cmp cl, 2
je 0x4532b7
mov ax, word [edx + 0x850]
and eax, 0x400
cmp eax, 0x400
je 0x4532b7
xor esi, esi
jmp 0x4532cb
mov eax, dword [edx + 0xa58]
mov ecx, dword [ebp + 0x98]
cmp eax, ecx
mov esi, eax
jb 0x4532cb
mov esi, ecx
mov cl, bl
and cl, 0x40
cmp cl, 0x40
je 0x4532ec
mov ax, word [edx + 0x850]
and eax, 0x400
cmp eax, 0x400
jne 0x453378
mov cl, byte [edx + 0x6e0]
cmp cl, 1
jne 0x45332e
mov ax, word [edx + 0x6e2]
cmp ax, 0x34
jl 0x45330a
cmp ax, 0x3f
jle 0x45335e
cmp ax, 0x89
je 0x45335e
cmp ax, 0x8a
je 0x45335e
cmp ax, 0xf0
je 0x45335e
cmp ax, 0xf1
je 0x45335e
cmp ax, 0xbe
jl 0x45332e
cmp ax, 0xc2
jle 0x45335e
cmp cl, 6
jne 0x453378
mov ax, word [edx + 0x6e2]
cmp ax, 0x54
je 0x45335e
cmp ax, 0x72
je 0x45335e
cmp ax, 0x86
je 0x45335e
cmp ax, 0x9a
je 0x45335e
cmp ax, 0xae
je 0x45335e
cmp ax, 0xc2
jne 0x453378
mov eax, dword [ebp + 0x98]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov eax, 0x51eb851f
mul ecx
mov ecx, edx
shr ecx, 5
jmp 0x45337a
xor ecx, ecx
and ebx, 0x4000
cmp ebx, 0x4000
jne 0x453398
mov eax, 0xcccccccd
mul dword [ebp + 0x98]
shr edx, 2
jmp 0x45339a
xor edx, edx
mov eax, dword [ebp + 0x48]
mov ebx, dword [ebp + 0x98]
add edx, ecx
add edx, esi
add edx, eax
mov eax, 0x91a2b3c5
add edx, ebx
mul edx
shr edx, 9
inc edx
imul edx, dword [ebp + 0x2c]
lea eax, [edx + edx*2]
shr eax, 1
lea edx, [eax + eax*2]
mov eax, 0xcccccccd
mul edx
mov eax, dword [ebp + 0x30]
shr edx, 2
lea esi, [edx + eax + 0x7d0]
jmp 0x4537f0
cmp eax, 0x226
jl 0x453538
cmp eax, 0x258
jge 0x453543
mov esi, dword [esp + 0x88]
mov bx, word [esi + 0x84e]
mov cl, bl
and cl, 2
cmp cl, 2
je 0x453422
mov dx, word [esi + 0x850]
and edx, 0x400
cmp edx, 0x400
je 0x453422
xor ecx, ecx
jmp 0x453434
mov eax, dword [esi + 0xa58]
mov ecx, dword [ebp + 0x98]
cmp eax, ecx
jae 0x453434
mov ecx, eax
mov al, bl
and al, 0x40
cmp al, 0x40
je 0x453455
mov dx, word [esi + 0x850]
and edx, 0x400
cmp edx, 0x400
jne 0x4534e1
mov dl, byte [esi + 0x6e0]
cmp dl, 1
jne 0x453497
mov ax, word [esi + 0x6e2]
cmp ax, 0x34
jl 0x453473
cmp ax, 0x3f
jle 0x4534c7
cmp ax, 0x89
je 0x4534c7
cmp ax, 0x8a
je 0x4534c7
cmp ax, 0xf0
je 0x4534c7
cmp ax, 0xf1
je 0x4534c7
cmp ax, 0xbe
jl 0x453497
cmp ax, 0xc2
jle 0x4534c7
cmp dl, 6
jne 0x4534e1
mov ax, word [esi + 0x6e2]
cmp ax, 0x54
je 0x4534c7
cmp ax, 0x72
je 0x4534c7
cmp ax, 0x86
je 0x4534c7
cmp ax, 0x9a
je 0x4534c7
cmp ax, 0xae
je 0x4534c7
cmp ax, 0xc2
jne 0x4534e1
mov eax, dword [ebp + 0x98]
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
mov eax, 0x51eb851f
mul edx
mov esi, edx
shr esi, 5
jmp 0x4534e3
xor esi, esi
and ebx, 0x4000
cmp ebx, 0x4000
jne 0x453501
mov eax, 0xcccccccd
mul dword [ebp + 0x98]
shr edx, 2
jmp 0x453503
xor edx, edx
mov ebx, dword [ebp + 0x48]
mov eax, 0x91a2b3c5
add ecx, ebx
mov ebx, dword [ebp + 0x98]
add ecx, edx
add ecx, esi
add ecx, ebx
mul ecx
shr edx, 9
inc edx
mov ecx, dword [ebp + 0x30]
imul edx, dword [ebp + 0x2c]
lea eax, [edx + edx*2]
shr eax, 2
lea esi, [eax + ecx + 0xbb8]
jmp 0x4537f0
cmp eax, 0x258
jl 0x4537f0
mov edx, dword [esp + 0x88]
mov bx, word [edx + 0x84e]
mov al, bl
and al, 2
cmp al, 2
je 0x453572
mov cx, word [edx + 0x850]
and ecx, 0x400
cmp ecx, 0x400
je 0x453572
xor esi, esi
jmp 0x453586
mov eax, dword [edx + 0xa58]
mov ecx, dword [ebp + 0x98]
cmp eax, ecx
mov esi, eax
jb 0x453586
mov esi, ecx
mov al, bl
and al, 0x40
cmp al, 0x40
je 0x4535a7
mov cx, word [edx + 0x850]
and ecx, 0x400
cmp ecx, 0x400
jne 0x453633
mov cl, byte [edx + 0x6e0]
cmp cl, 1
jne 0x4535e9
mov ax, word [edx + 0x6e2]
cmp ax, 0x34
jl 0x4535c5
cmp ax, 0x3f
jle 0x453619
cmp ax, 0x89
je 0x453619
cmp ax, 0x8a
je 0x453619
cmp ax, 0xf0
je 0x453619
cmp ax, 0xf1
je 0x453619
cmp ax, 0xbe
jl 0x4535e9
cmp ax, 0xc2
jle 0x453619
cmp cl, 6
jne 0x453633
mov ax, word [edx + 0x6e2]
cmp ax, 0x54
je 0x453619
cmp ax, 0x72
je 0x453619
cmp ax, 0x86
je 0x453619
cmp ax, 0x9a
je 0x453619
cmp ax, 0xae
je 0x453619
cmp ax, 0xc2
jne 0x453633
mov eax, dword [ebp + 0x98]
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
mov eax, 0x51eb851f
mul edx
mov ecx, edx
shr ecx, 5
jmp 0x453635
xor ecx, ecx
and ebx, 0x4000
cmp ebx, 0x4000
jne 0x453653
mov eax, 0xcccccccd
mul dword [ebp + 0x98]
shr edx, 2
jmp 0x453655
xor edx, edx
mov edi, dword [ebp + 0x48]
mov eax, dword [ebp + 0x98]
add edi, edx
add edi, ecx
add edi, esi
add edi, eax
mov eax, 0x91a2b3c5
mul edi
shr edx, 9
inc edx
imul edx, dword [ebp + 0x2c]
lea eax, [edx + edx*2]
shr eax, 1
lea ecx, [eax*8]
sub ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [ebp + 0x30]
shr edx, 4
lea esi, [edx + eax + 0xfa0]
jmp 0x4537f0
mov edx, dword [esp + 0x88]
mov bx, word [edx + 0x84e]
mov cl, bl
and cl, 2
cmp cl, 2
je 0x4536cb
mov ax, word [edx + 0x850]
and eax, 0x400
cmp eax, 0x400
je 0x4536cb
xor esi, esi
jmp 0x4536df
mov eax, dword [edx + 0xa58]
mov ecx, dword [ebp + 0x98]
cmp eax, ecx
mov esi, eax
jb 0x4536df
mov esi, ecx
mov cl, bl
and cl, 0x40
cmp cl, 0x40
je 0x453700
mov ax, word [edx + 0x850]
and eax, 0x400
cmp eax, 0x400
jne 0x45378c
mov cl, byte [edx + 0x6e0]
cmp cl, 1
jne 0x453742
mov ax, word [edx + 0x6e2]
cmp ax, 0x34
jl 0x45371e
cmp ax, 0x3f
jle 0x453772
cmp ax, 0x89
je 0x453772
cmp ax, 0x8a
je 0x453772
cmp ax, 0xf0
je 0x453772
cmp ax, 0xf1
je 0x453772
cmp ax, 0xbe
jl 0x453742
cmp ax, 0xc2
jle 0x453772
cmp cl, 6
jne 0x45378c
mov ax, word [edx + 0x6e2]
cmp ax, 0x54
je 0x453772
cmp ax, 0x72
je 0x453772
cmp ax, 0x86
je 0x453772
cmp ax, 0x9a
je 0x453772
cmp ax, 0xae
je 0x453772
cmp ax, 0xc2
jne 0x45378c
mov eax, dword [ebp + 0x98]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov eax, 0x51eb851f
mul ecx
mov ecx, edx
shr ecx, 5
jmp 0x45378e
xor ecx, ecx
and ebx, 0x4000
cmp ebx, 0x4000
jne 0x4537ac
mov eax, 0xcccccccd
mul dword [ebp + 0x98]
shr edx, 2
jmp 0x4537ae
xor edx, edx
mov ebx, dword [ebp + 0x98]
add edx, ecx
mov ecx, dword [ebp + 0x48]
mov eax, 0x91a2b3c5
add edx, ecx
add edx, esi
add edx, ebx
mul edx
shr edx, 9
inc edx
imul edx, dword [ebp + 0x2c]
lea eax, [edx + edx*2]
shr eax, 1
lea edx, [eax*8]
sub edx, eax
mov eax, 0xcccccccd
mul edx
mov eax, dword [ebp + 0x30]
shr edx, 4
lea esi, [edx + eax + 0x1388]
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x9c]
push esi
lea eax, [esp + 0x78]
push edx
push eax
push edi
push ecx
mov ecx, dword [esp + 0x2c]
push ebp
push ebx
call fcn.0045f890
jmp 0x453872
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x84]
add eax, edx
mov edx, eax
push ecx
mov ecx, dword [ebp + 0x30]
lea eax, [eax + eax*2]
shr edx, 1
add edx, eax
add edx, ecx
push edx
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0xa0]
lea edx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x94]
push edx
push edi
push eax
push ebp
push ecx
mov ecx, dword [esp + 0x34]
call fcn.0045f890
jmp 0x453872
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x30]
add ebx, 0x2f
mov ecx, dword [eax + 0x16c]
mov dword [esp + 0x30], ebx
test ecx, ecx
jne 0x45395c
mov ecx, dword [eax + 0x11c]
cmp byte [ecx], 0x4e
jne 0x45395c
mov edx, dword [ecx + 0x54]
test edx, edx
je 0x45395c
mov esi, dword [esp + 0x14]
push 0
push 0
push edx
mov dx, word [ecx + 0x14]
lea ecx, [esp + 0x7c]
push edx
push ecx
mov ecx, dword [esi + 0x32c8]
lea edx, [esp + 0x84]
push eax
push edx
push edi
call fcn.004813c0
mov eax, dword [esi + 0x32c8]
mov eax, dword [eax + 0x9c]
cmp eax, 1
mov esi, eax
jg 0x4538e9
mov esi, 1
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov edx, dword [ecx + 0x11c]
mov ax, word [edx + 0x18]
cdq
idiv esi
mov dword [ecx + 0x104], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x32c8]
mov eax, dword [ecx + 0x9c]
cmp eax, 1
mov esi, eax
jg 0x45391e
mov esi, 1
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov edx, dword [ecx + 0x11c]
mov ax, word [edx + 0x18]
cdq
idiv esi
test edx, edx
jle 0x453946
mov eax, dword [ecx + 0x104]
inc eax
mov dword [ecx + 0x104], eax
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov dword [ecx + 0x118], eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x2a0], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x453a23
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x45397c
cmp ecx, dword [eax + 0x120]
je 0x453a23
cmp dword [eax + 0x16c], 1
jne 0x4539a0
mov esi, dword [esp + 0xb0]
lea eax, [edi + 0x1a]
xor edx, edx
mov byte [ebx + esi - 1], 0xff
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x453a2f
mov ecx, dword [eax + 0x120]
mov esi, dword [eax + 0x2bc]
cmp ecx, esi
jb 0x4539be
mov esi, dword [esp + 0xb0]
mov byte [ebx + esi - 1], 0x64
jmp 0x453a2f
cmp ecx, 0x1312d00
jbe 0x4539ee
mov eax, 0x51eb851f
mul esi
mov esi, edx
mov eax, ecx
shr esi, 5
xor edx, edx
div esi
cmp al, 0x64
jae 0x453a11
mov esi, dword [esp + 0xb0]
and eax, 0xff
mov byte [ebx + esi - 1], al
jmp 0x453a2f
lea ecx, [ecx + ecx*4]
xor edx, edx
lea eax, [ecx + ecx*4]
shl eax, 2
div esi
cmp al, 0x64
jae 0x453a11
mov esi, dword [esp + 0xb0]
and eax, 0xff
mov byte [ebx + esi - 1], al
jmp 0x453a2f
mov esi, dword [esp + 0xb0]
mov eax, 0x64
mov byte [ebx + esi - 1], al
jmp 0x453a2f
mov esi, dword [esp + 0xb0]
mov byte [ebx + esi - 1], 0xfe
add edi, 0x2f
cmp ebx, 0x582
mov dword [esp + 0x18], edi
jb 0x453a73
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
push 0x582
push esi
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
call fcn.0045f9b0
xor eax, eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x94]
mov eax, dword [esi + 0x32c8]
lea ecx, [eax + 0x40]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x74]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x68]
push eax
lea eax, [esp + 0x54]
push edi
push eax
call dword [edx + 0x48]
test eax, eax
jne 0x452cbc
mov eax, dword [esp + 0x90]
mov cl, byte [esp + 0x9c]
mov edx, dword [esp + 0x98]
mov byte [eax + 0x18], cl
mov ecx, dword [esp + 0x48]
push edx
push eax
call fcn.00488410
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x453ae1
mov eax, dword [esp + 0x30]
test eax, eax
je 0x453aef
mov eax, dword [esp + 0x30]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret 0x34
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x70
ret 0x34