Function at 0x57b2b0
Capabilities:
Parse credit card information

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cdb33
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x160
push esi
push edi
mov eax, dword [0x623ec0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push 0
call fcn.00577380
mov eax, dword [edi + 0x60]
test eax, eax
je 0x57b3e6
mov edx, dword [0x9c25ac]
mov esi, dword [0x9c25b0]
mov dword [eax + 0x2f4], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
test eax, eax
je 0x57b37d
mov dword [eax + 0x84], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov ecx, dword [eax + 0x88]
test ecx, ecx
je 0x57b37d
mov byte [ecx + 0x14], 1
mov dword [edx + 0x21a7c], 1
mov eax, dword [esi + 0x10]
test eax, eax
je 0x57b36a
cmp dword [eax + 0x1c], ecx
jne 0x57b363
mov dword [eax + 0x1c], 0
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x57b357
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov dword [eax + 0x88], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
test eax, eax
je 0x57b3e6
mov dword [eax + 0x84], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov ecx, dword [eax + 0x88]
test ecx, ecx
je 0x57b3e6
mov byte [ecx + 0x14], 1
mov dword [edx + 0x21a7c], 1
mov eax, dword [esi + 0x10]
test eax, eax
je 0x57b3d3
nop dword [eax]
cmp dword [eax + 0x1c], ecx
jne 0x57b3cc
mov dword [eax + 0x1c], 0
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x57b3c0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov dword [eax + 0x88], 0
movzx eax, word [edi + 0x17a]
mov ecx, eax
cmp ax, 0x2f
je 0x57b3fb
cmp cx, 0x30
jne 0x57b412
movsx ax, byte [edi + 0xa5a]
mov edx, 0xc7
add ax, dx
mov word [edi + 0xa5c], ax
cmp cx, 0x32
jne 0x57b42f
movsx ax, byte [edi + 0xa5a]
mov ecx, 0xd1
add ax, cx
mov word [edi + 0xa5c], ax
movzx eax, word [edi + 0xa60]
xor esi, esi
mov edx, 0x1036
mov dword [ebp - 0x34], esi
mov ecx, eax
cmp ax, dx
jl 0x57b451
mov eax, 0x1068
cmp cx, ax
jl 0x57b48e
mov eax, 0x1130
cmp cx, ax
jl 0x57b465
mov eax, 0x12f2
cmp cx, ax
jle 0x57b48e
mov eax, 0x189d
cmp cx, ax
jl 0x57b51e
mov eax, 0x1900
cmp cx, ax
jg 0x57b51e
cmp dword [edi + 0x218], 0x1d
je 0x57b51e
movsx eax, cx
lea ecx, [eax + eax*8]
shl ecx, 4
movzx eax, word [ecx + 0x817ff0]
mov word [edi + 0x17a], ax
mov word [edi + 0x17e], ax
mov word [edi + 0x182], ax
mov word [edi + 0x186], ax
movzx eax, word [ecx + 0x817ff2]
mov ecx, edi
mov word [edi + 0x17c], ax
mov word [edi + 0x180], ax
mov word [edi + 0x184], ax
mov word [edi + 0x188], ax
call fcn.00558990
mov esi, eax
mov dword [ebp - 0x34], esi
test esi, esi
je 0x57b80e
mov eax, dword [edi + 0x218]
cmp eax, 0x1a
je 0x57b50f
cmp eax, 0x21
je 0x57b50f
cmp eax, 0x28
je 0x57b50f
cmp eax, 0x3f
jne 0x57b80e
mov dword [edi + 0x218], 4
jmp 0x57b80e
movzx eax, word [edi + 0x21e]
mov edx, 0xdaf
mov ecx, eax
cmp ax, dx
je 0x57b553
mov eax, 0xdb0
cmp cx, ax
je 0x57b553
mov eax, 0xdb1
cmp cx, ax
je 0x57b553
mov eax, 0xdb2
cmp cx, ax
jne 0x57b80e
xor eax, eax
mov dword [ebp - 0x34], 0x64
mov dword [edi + 0x176], eax
mov word [edi + 0x17c], ax
mov word [edi + 0x180], ax
mov word [edi + 0x184], ax
mov word [edi + 0x188], ax
movzx eax, word [edi + 0x21c]
mov ecx, eax
mov dword [ebp - 0x28], ecx
cmp ax, 6
je 0x57b5b6
cmp cx, 7
je 0x57b5b6
cmp cx, 8
je 0x57b5b6
cmp cx, 9
je 0x57b5b6
lea eax, [edi + 0x17e]
lea esi, [edi + 0x182]
lea edx, [edi + 0x186]
jmp 0x57b5e5
mov edx, 0x5f
lea eax, [edi + 0x17e]
lea esi, [edi + 0x182]
mov word [edi + 0x17a], dx
mov word [eax], dx
mov ecx, 0x5f
mov word [esi], dx
lea edx, [edi + 0x186]
mov word [edx], cx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], eax
cmp cx, 0x10
je 0x57b60e
cmp cx, 0x11
je 0x57b60e
cmp cx, 0x12
je 0x57b60e
mov edx, eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
cmp cx, 0x13
jne 0x57b641
mov eax, dword [ebp - 0x18]
lea esi, [edi + 0x182]
mov edx, 0x61
mov word [edi + 0x17a], dx
mov word [eax], dx
mov eax, dword [ebp - 0x14]
mov word [eax], dx
mov eax, dword [ebp - 0x30]
mov word [eax], dx
lea eax, [edi + 0x186]
lea edx, [edi + 0x17e]
mov dword [ebp - 0x2c], eax
cmp cx, 0x1a
je 0x57b674
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x30], eax
cmp cx, 0x1b
je 0x57b674
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x30], eax
cmp cx, 0x1c
je 0x57b674
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x30], eax
cmp cx, 0x1d
jne 0x57b6a2
mov eax, dword [ebp - 0x18]
mov edx, 0x4c
mov esi, dword [ebp - 0x14]
mov ecx, 0x4c
mov word [edi + 0x17a], dx
mov word [eax], dx
mov word [esi], dx
mov edx, dword [ebp - 0x30]
mov word [edx], cx
mov edx, eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
cmp cx, 0x24
je 0x57b6c9
cmp cx, 0x25
je 0x57b6c9
cmp cx, 0x26
je 0x57b6c9
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], eax
cmp cx, 0x27
jne 0x57b6fb
mov ecx, 0x4e
mov word [eax], cx
lea eax, [edi + 0x17e]
mov word [edi + 0x17a], cx
mov word [edx], cx
mov word [esi], cx
lea ecx, [edi + 0x182]
mov dword [ebp - 0x14], ecx
lea ecx, [edi + 0x186]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x28]
jmp 0x57b6fe
mov eax, dword [ebp - 0x1c]
cmp cx, 0x16
je 0x57b754
mov ecx, dword [ebp - 0x18]
mov edx, eax
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x28]
cmp cx, 0x17
je 0x57b754
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x28]
cmp cx, 0x18
je 0x57b754
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x28]
cmp cx, 0x19
je 0x57b754
cmp dword [edi + 0x218], 0x3f
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
je 0x57b754
xorps xmm0, xmm0
movups xmmword [edi + 0x192], xmm0
jmp 0x57b80b
movzx eax, word [edi + 0x172]
mov ecx, dword [ebp - 0x2c]
mov word [edi + 0x176], ax
mov word [edi + 0x17a], ax
mov word [edx], ax
mov word [esi], ax
mov word [ecx], ax
movzx eax, word [edi + 0x174]
mov word [edi + 0x178], ax
mov word [edi + 0x17c], ax
mov word [edi + 0x180], ax
mov word [edi + 0x184], ax
mov word [edi + 0x188], ax
mov al, byte [edi + 0x192]
mov byte [edi + 0x193], al
mov byte [edi + 0x194], al
mov byte [edi + 0x195], al
mov byte [edi + 0x196], al
mov byte [edi + 0x197], al
mov al, byte [edi + 0x19a]
mov byte [edi + 0x19b], al
mov byte [edi + 0x19c], al
mov byte [edi + 0x19d], al
mov byte [edi + 0x19e], al
mov byte [edi + 0x19f], al
mov al, byte [edi + 0x1a2]
mov byte [edi + 0x1a3], al
mov byte [edi + 0x1a4], al
mov byte [edi + 0x1a5], al
mov byte [edi + 0x1a6], al
mov byte [edi + 0x1a7], al
mov esi, dword [ebp - 0x34]
mov ecx, dword [edi + 0x60]
test ecx, ecx
je 0x57b822
push ecx
call fcn.0045f490
mov dword [edi + 0x60], 0
test esi, esi
jne 0x57badd
mov eax, dword [edi + 0x5c]
cmp eax, 0x14
je 0x57b8ed
cmp eax, 0x27
je 0x57b8ed
cmp eax, 0x15
je 0x57b8ed
cmp eax, 0x16
je 0x57b8ed
cmp eax, 0x17
je 0x57b8ed
cmp eax, 0x18
je 0x57b8ed
cmp eax, 0x28
je 0x57b8ed
cmp eax, 3
je 0x57b8ed
cmp eax, 4
je 0x57b8ed
cmp eax, 0x19
je 0x57b8ed
cmp eax, 0x1c
je 0x57b8ed
cmp eax, 0x1d
je 0x57b8ed
cmp eax, 2
je 0x57b8ed
cmp eax, 6
je 0x57b8ed
cmp eax, 7
je 0x57b8ed
cmp eax, 8
je 0x57b8ed
cmp eax, 0x1e
je 0x57b8ed
cmp eax, 0x1f
je 0x57b8ed
cmp eax, 0x21
je 0x57b8ed
cmp eax, 0x24
je 0x57b8ed
cmp eax, 0xc
je 0x57b8ed
cmp eax, 0x2b
je 0x57b8ed
cmp eax, 0xa
je 0x57b8ed
cmp eax, 5
je 0x57b8ed
cmp eax, 0x2d
je 0x57b8ed
cmp eax, 0x2e
je 0x57b8ed
cmp eax, 0x2f
je 0x57b8ed
cmp eax, 0x35
je 0x57b8ed
cmp eax, 0x36
je 0x57b8ed
cmp eax, 0x37
je 0x57b8ed
cmp eax, 0x38
je 0x57b8ed
cmp eax, 0x39
jne 0x57badd
cmp dword [edi + 0x5c], 0x2d
lea ecx, [edi + 0x192]
movzx eax, word [edi + 0x172]
lea edx, [edi + 0x193]
mov word [edi + 0x176], ax
movzx eax, word [edi + 0x174]
mov word [edi + 0x178], ax
movzx eax, byte [ecx]
mov byte [edx], al
lea eax, [edi + 0x19b]
mov dword [ebp - 0x14], eax
movzx eax, byte [edi + 0x19a]
mov byte [edi + 0x19b], al
movzx eax, byte [edi + 0x1a2]
mov byte [edi + 0x1a3], al
jne 0x57b9a5
lea esi, [edi + 0x19b]
mov dword [edi + 0x19e], 0
mov dword [ebp - 0x30], esi
lea eax, [edi + 0x19a]
lea esi, [edi + 0x19a]
mov word [edi + 0x19c], 2
mov dword [ebp - 0x38], esi
lea esi, [edi + 0x193]
mov dword [ebp - 0x24], esi
lea esi, [edi + 0x192]
mov byte [edi + 0x19b], 0
mov byte [eax], 0
mov dword [edi + 0x196], 0
mov word [edi + 0x194], 8
mov byte [edx], 0
mov byte [ecx], 0
mov dword [ebp - 0x1c], esi
jmp 0x57b9bd
lea eax, [edi + 0x19b]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x30], eax
lea eax, [edi + 0x19a]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], ecx
cmp dword [edi + 0x5c], 0x2e
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], ecx
jne 0x57ba2f
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x1c]
mov word [edi + 0x19c], 0
mov word [edi + 0x194], 0
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x34]
mov dword [edi + 0x19e], 0
mov word [edi + 0x19b], 0x200
mov byte [eax], 0
mov dword [edi + 0x196], 0
mov byte [edx], 0
mov byte [ecx], 0
mov byte [edi + 0x194], 0xd
cmp dword [edi + 0x5c], 0x35
jne 0x57bbb9
mov byte [eax], 0
mov eax, dword [edi + 0x5c]
mov word [edi + 0x194], 0
mov dword [edi + 0x19e], 0
mov word [edi + 0x19c], 0
mov byte [edi + 0x19b], 0
mov dword [edi + 0x196], 0
mov byte [ecx], 0xd
mov byte [edi + 0x194], 0xd
mov byte [edx], 0xd
mov dword [edi + 0x38], 0x40000000
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
cmp eax, 0x37
jne 0x57badd
mov eax, dword [ebp - 0x28]
mov byte [ecx], 0
mov byte [edx], 0
mov dword [edi + 0x19e], 0
mov byte [eax], 0
mov eax, dword [ebp - 0x2c]
mov word [edi + 0x19c], 0
mov dword [edi + 0x196], 0
mov word [edi + 0x194], 0
mov byte [eax], 0
mov byte [ecx], 0xd
mov byte [edx], 0xd
mov dword [0x62922c], 0x3ee5e354
mov dword [0x629228], 0x3ee5e354
mov ecx, dword [edi + 0x218]
cmp ecx, 0x28
jne 0x57baf8
xor eax, eax
mov word [edi + 0x18e], ax
mov word [edi + 0x18a], ax
mov eax, dword [edi + 0x5c]
cmp eax, 0x1a
je 0x57bc23
cmp eax, 0x23
je 0x57bc23
cmp eax, 0xb
je 0x57bb20
cmp eax, 0x25
je 0x57bb20
cmp eax, 0x2c
jne 0x57bc83
movzx eax, word [edi + 0x172]
mov word [edi + 0x176], ax
mov word [edi + 0x17a], ax
mov word [edi + 0x17e], ax
mov word [edi + 0x182], ax
movzx eax, word [edi + 0x174]
mov word [edi + 0x178], ax
mov word [edi + 0x17c], ax
mov word [edi + 0x180], ax
mov word [edi + 0x184], ax
mov al, byte [edi + 0x192]
mov byte [edi + 0x193], al
mov byte [edi + 0x194], al
mov byte [edi + 0x195], al
mov byte [edi + 0x196], al
mov al, byte [edi + 0x19a]
mov byte [edi + 0x19b], al
mov byte [edi + 0x19c], al
mov byte [edi + 0x19d], al
mov byte [edi + 0x19e], al
mov al, byte [edi + 0x1a2]
mov byte [edi + 0x1a5], al
mov byte [edi + 0x1a6], al
jmp 0x57bc77
mov eax, dword [edi + 0x5c]
cmp eax, 0x38
je 0x57bbca
cmp eax, 0x39
jne 0x57ba80
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x18]
mov word [edi + 0x194], 0
mov dword [edi + 0x196], 0
mov byte [ecx], 0
mov ecx, dword [ebp - 0x2c]
mov byte [edx], 0
mov dword [edi + 0x19e], 0
mov word [edi + 0x19c], 0
mov byte [ecx], 0
mov ecx, dword [ebp - 0x14]
mov word [edi + 0x195], 0xd0d
mov byte [edi + 0x194], 0xd
mov byte [edx], 0xd
mov byte [ecx], 0
mov byte [ecx], 0xd
jmp 0x57ba86
movzx eax, word [edi + 0x172]
mov word [edi + 0x176], ax
mov word [edi + 0x17a], ax
movzx eax, word [edi + 0x174]
mov word [edi + 0x178], ax
mov word [edi + 0x17c], ax
mov al, byte [edi + 0x192]
mov byte [edi + 0x193], al
mov byte [edi + 0x194], al
mov al, byte [edi + 0x19a]
mov byte [edi + 0x19b], al
mov byte [edi + 0x19c], al
mov al, byte [edi + 0x1a2]
mov byte [edi + 0x1a4], al
mov byte [edi + 0x1a3], al
cmp ecx, 0x27
je 0x57bcbe
cmp ecx, 0x28
je 0x57bcbe
cmp ecx, 0x3f
je 0x57bcbe
cmp ecx, 0x3e
jne 0x57bd7e
cmp word [edi + 0x172], 2
jne 0x57bd7e
mov word [edi + 0x192], 0x404
mov dword [ebp - 0x14], 0
jmp 0x57bdaf
movzx eax, word [edi + 0x172]
mov word [edi + 0x176], ax
mov word [edi + 0x17a], ax
mov word [edi + 0x17e], ax
mov word [edi + 0x182], ax
mov word [edi + 0x186], ax
movzx eax, word [edi + 0x174]
mov word [edi + 0x178], ax
mov word [edi + 0x17c], ax
mov word [edi + 0x180], ax
mov word [edi + 0x184], ax
mov word [edi + 0x188], ax
mov al, byte [edi + 0x192]
mov byte [edi + 0x193], al
mov byte [edi + 0x194], al
mov byte [edi + 0x195], al
mov byte [edi + 0x196], al
mov byte [edi + 0x197], al
mov al, byte [edi + 0x19a]
mov byte [edi + 0x19b], al
mov byte [edi + 0x19c], al
mov byte [edi + 0x19d], al
mov byte [edi + 0x19e], al
mov byte [edi + 0x19f], al
mov al, byte [edi + 0x1a2]
mov byte [edi + 0x1a3], al
mov byte [edi + 0x1a4], al
mov byte [edi + 0x1a5], al
mov byte [edi + 0x1a6], al
mov byte [edi + 0x1a7], al
mov dword [ebp - 0x14], 0
cmp ecx, 4
je 0x57bda8
cmp ecx, 8
je 0x57bda8
cmp ecx, 0x24
je 0x57bda8
cmp ecx, 0x27
je 0x57bda8
cmp ecx, 0x28
je 0x57bda8
cmp ecx, 0x3c
je 0x57bda8
cmp ecx, 0x3f
jne 0x57bdaf
mov dword [ebp - 0x14], 1
movzx eax, word [edi + 0x172]
lea ecx, [edi + 0x172]
mov edx, eax
cmp ax, 0x28
jne 0x57be0f
cmp word [edi + 0x17a], 0
mov eax, 0x28
jne 0x57bdda
mov word [edi + 0x17a], ax
cmp word [edi + 0x17e], 0
jne 0x57bdeb
mov word [edi + 0x17e], ax
cmp word [edi + 0x182], 0
jne 0x57bdfc
mov word [edi + 0x182], ax
cmp word [edi + 0x186], 0
jne 0x57be77
mov word [edi + 0x186], ax
jmp 0x57be77
cmp dx, 0x50
je 0x57be21
cmp dx, 0x40
jne 0x57be7e
lea ecx, [edi + 0x172]
cmp word [edi + 0x17a], 0
mov eax, 0x28
jne 0x57be37
mov word [edi + 0x17a], ax
cmp word [edi + 0x17e], 0
mov edx, ecx
jne 0x57be50
mov word [edi + 0x17e], ax
lea edx, [edi + 0x172]
cmp word [edi + 0x182], 0
jne 0x57be63
mov word [edi + 0x182], ax
mov ecx, edx
cmp word [edi + 0x186], 0
jne 0x57be74
mov word [edi + 0x186], ax
mov ax, word [ecx]
mov word [edi + 0x176], ax
mov eax, dword [edi + 0x218]
cmp eax, 1
je 0x57beaf
cmp eax, 2
je 0x57beaf
cmp eax, 4
je 0x57beaf
cmp eax, 8
je 0x57beaf
test esi, esi
je 0x57beaf
cmp esi, 0x64
je 0x57beaf
mov dword [ebp - 0x14], 1
mov dword [edi + 0x5c], 0
cmp byte [edi + 0xa25], 1
jne 0x57bede
xor eax, eax
xorps xmm0, xmm0
mov dword [edi + 0x192], eax
mov word [edi + 0x196], ax
mov dword [edi + 0x19a], eax
mov word [edi + 0x19e], ax
movups xmmword [edi + 0x152], xmm0
mov eax, dword [edi + 0x218]
cmp eax, 0x1a
je 0x57c050
cmp eax, 0x21
je 0x57c050
cmp eax, 0x28
je 0x57c050
cmp eax, 0x3f
je 0x57c050
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x57bf18
cmp eax, 1
jne 0x57bfb6
movzx eax, word [edi + 0x17a]
lea edx, [edi + 0x19c]
lea esi, [edi + 0x19b]
mov ecx, eax
mov dword [ebp - 0x1c], ecx
cmp ax, 0x2f
jne 0x57bfe6
mov eax, 0x2f
lea ecx, [edi + 0x176]
mov word [ecx], ax
mov word [edi + 0x172], ax
movzx eax, byte [edi + 0x194]
mov byte [edi + 0x193], al
movzx eax, byte [edx]
mov byte [esi], al
lea eax, [edi + 0x1a4]
mov dword [ebp - 0x18], eax
lea eax, [edi + 0x1a3]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax]
mov byte [edi + 0x1a3], al
mov eax, dword [ebp - 0x1c]
cmp ax, 0x32
jne 0x57bfb6
mov eax, 0x32
mov word [edi + 0x172], ax
mov al, byte [edx]
mov byte [esi], al
mov byte [edi + 0x19a], al
mov eax, 0x32
mov word [ecx], ax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov al, byte [eax]
mov byte [ecx], al
mov byte [edi + 0x1a2], al
push 0x360
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 1
push 0x360
push 0
push esi
call fcn.00468b40
add esp, 0xc
push 0
jmp 0x57c07b
lea eax, [edi + 0x176]
mov dword [ebp - 0x38], eax
lea ecx, [edi + 0x1a4]
lea eax, [edi + 0x1a3]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x1c]
cmp ax, 0x30
jne 0x57bf82
mov eax, 0x30
mov word [edi + 0x176], ax
mov word [edi + 0x172], ax
movzx eax, byte [edi + 0x194]
mov byte [edi + 0x193], al
movzx eax, byte [edi + 0x19c]
mov byte [edi + 0x19b], al
movzx eax, byte [edi + 0x1a4]
mov byte [edi + 0x1a3], al
jmp 0x57bfb6
push 0x360
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0
push 0x360
push 0
push esi
call fcn.00468b40
add esp, 0xc
push 1
push dword [ebp - 0x34]
lea eax, [edi + 0x1a2]
mov ecx, esi
push 1
push eax
push dword [ebp - 0x14]
lea eax, [edi + 0x192]
push dword [edi + 0x5c]
push eax
lea eax, [edi + 0x172]
push eax
call fcn.005b60e0
mov dword [ebp - 4], 0xffffffff
mov edx, 0x60
mov ecx, edi
mov dword [edx + ecx], eax
test eax, eax
je 0x57c12c
mov dword [eax + 0x2f4], edi
mov ecx, dword [edi + 0x60]
call fcn.005b63e0
mov eax, dword [edi + 0x60]
mov dword [eax + 0x2e4], 0x28
cmp dword [edi + 0x5c], 0x1f
jne 0x57c111
movss xmm0, dword [edi + 0x38]
movss xmm1, dword [0x604dc4]
comiss xmm1, xmm0
jbe 0x57c111
mov eax, dword [edi + 0x60]
movss xmm1, dword [0x604ea8]
subss xmm1, xmm0
movss dword [eax + 0x24], xmm0
movss xmm0, dword [edi + 0x38]
mov eax, dword [edi + 0x60]
divss xmm0, xmm1
movss dword [eax + 0x28], xmm0
jmp 0x57c123
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 0x38]
mov dword [ecx + 0x24], eax
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 0x38]
mov dword [ecx + 0x28], eax
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 0x38]
mov dword [ecx + 0x2c], eax
cmp dword [edi + 0x1d4], 0
mov ecx, dword [edi + 0xa10]
jne 0x57c1b2
mov eax, dword [edi + 0x60]
mov dword [edi + 0xa10], ecx
test eax, eax
je 0x57c1b2
cmp dword [edi + 0x868], 1
jne 0x57c163
mov edx, dword [eax + 0x2f8]
test edx, edx
je 0x57c163
mov dword [edx + 0x2904], ecx
jmp 0x57c177
mov eax, dword [eax + 0x2f8]
test eax, eax
je 0x57c177
mov dword [eax + 0x2904], 0
cmp dword [edi + 0x86c], 1
jne 0x57c19b
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + 0x2fc]
test ecx, ecx
je 0x57c19b
mov eax, dword [edi + 0xa10]
mov dword [ecx + 0x2904], eax
jmp 0x57c1b2
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
test eax, eax
je 0x57c1b2
mov dword [eax + 0x2904], 0
mov eax, dword [edi + 0xa54]
test eax, eax
je 0x57c1d0
push ecx
mov ecx, eax
call fcn.0045f490
mov dword [edi + 0xa54], 0
xor eax, eax
cmp byte [edi + 0xa5a], 0
mov esi, 1
jle 0x57c3c4
mov ecx, dword [edi + 0x5c]
test ecx, ecx
je 0x57c200
cmp ecx, esi
je 0x57c200
cmp ecx, 8
je 0x57c200
cmp ecx, 3
je 0x57c200
cmp ecx, 2
jne 0x57c3c4
mov ecx, dword [ebp - 0x34]
xorps xmm0, xmm0
movups xmmword [ebp - 0x74], xmm0
movups xmmword [ebp - 0x64], xmm0
movups xmmword [ebp - 0x48], xmm0
test ecx, ecx
jne 0x57c267
mov ax, word [edi + 0xa5c]
mov word [ebp - 0x72], ax
movzx eax, byte [edi + 0xa5e]
mov byte [ebp - 0x48], al
movzx eax, byte [edi + 0xa5f]
push 0x360
mov byte [ebp - 0x40], al
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 2
push 0x360
push 0
push esi
call fcn.00468b40
add esp, 0xc
push 0
push 0
jmp 0x57c340
cmp ecx, 0x64
jne 0x57c364
movzx eax, word [edi + 0xa58]
mov edx, 0x221
mov ecx, eax
cmp ax, dx
je 0x57c2a1
mov eax, 0xc7d
cmp cx, ax
je 0x57c2a1
mov eax, 0x6e6
cmp cx, ax
jl 0x57c2a1
mov eax, 0x6e8
cmp cx, ax
jg 0x57c2ab
mov eax, 0x222
cmp cx, ax
je 0x57c2c9
mov eax, 0xc7e
cmp cx, ax
je 0x57c2c9
mov eax, 0x6ea
cmp cx, ax
je 0x57c2c9
mov eax, 0x6e9
cmp cx, ax
jne 0x57c2cd
mov word [ebp - 0x72], si
mov eax, 0x224
cmp cx, ax
je 0x57c2f5
mov eax, 0xc7f
cmp cx, ax
je 0x57c2f5
mov eax, 0x23c
cmp cx, ax
jl 0x57c2fe
mov eax, 0x23e
cmp cx, ax
jg 0x57c2fe
mov eax, 2
mov word [ebp - 0x72], ax
movzx eax, byte [edi + 0xa6e]
mov byte [ebp - 0x48], al
movzx eax, byte [edi + 0xa5f]
push 0x360
mov byte [ebp - 0x40], al
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 3
push 0x360
push 0
push esi
call fcn.00468b40
add esp, 0xc
push 0
push dword [ebp - 0x34]
push 1
push 0
push 0
push 0x55
lea eax, [ebp - 0x48]
mov ecx, esi
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.005b60e0
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0xa54], eax
test eax, eax
je 0x57c3c4
mov dword [eax + 0x2f4], 0
mov ecx, dword [edi + 0xa54]
call fcn.005b63e0
mov eax, dword [edi + 0xa54]
mov dword [eax + 0x2e4], 0x28
mov ecx, dword [edi + 0xa54]
mov eax, dword [edi + 0x38]
mov dword [ecx + 0x24], eax
mov ecx, dword [edi + 0xa54]
mov eax, dword [edi + 0x38]
mov dword [ecx + 0x28], eax
mov ecx, dword [edi + 0xa54]
mov eax, dword [edi + 0x38]
mov dword [ecx + 0x2c], eax
push dword [edi + 0xa48]
mov ecx, dword [edi + 0xa54]
push 1
call fcn.005b5f50
mov ecx, edi
call fcn.00577a30
cmp dword [edi + 0x62c], 0
mov ecx, edi
jg 0x57c3e7
mov dword [edi + 0x224], 4
mov eax, 0xc
jmp 0x57c3ec
mov eax, 1
push 1
push eax
call fcn.005790f0
mov edx, dword [0x9c25b0]
lea esi, [edi + 0x778]
mov eax, 7
mov dword [ebp - 0x14], eax
mov ecx, dword [esi - 0x1c]
test ecx, ecx
je 0x57c44d
mov eax, dword [0x9c25ac]
mov byte [ecx + 0x14], 1
mov dword [eax + 0x21a7c], 1
mov eax, dword [edx + 0x10]
test eax, eax
je 0x57c443
nop dword [eax]
cmp dword [eax + 0x1c], ecx
jne 0x57c43c
mov dword [eax + 0x1c], 0
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x57c430
mov eax, dword [ebp - 0x14]
mov dword [esi - 0x1c], 0
mov ecx, dword [esi]
test ecx, ecx
je 0x57c48c
mov eax, dword [0x9c25ac]
mov byte [ecx + 0x14], 1
mov dword [eax + 0x21a7c], 1
mov eax, dword [edx + 0x10]
test eax, eax
je 0x57c483
nop dword [eax]
cmp dword [eax + 0x1c], ecx
jne 0x57c47c
mov dword [eax + 0x1c], 0
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x57c470
mov eax, dword [ebp - 0x14]
mov dword [esi], 0
add esi, 4
sub eax, 1
mov dword [ebp - 0x14], eax
jne 0x57c408
mov eax, 7
lea esi, [edi + 0x794]
mov dword [ebp - 0x1c], eax
nop dword [eax]
mov ecx, dword [esi]
test ecx, ecx
je 0x57c4ec
mov eax, dword [0x9c25ac]
mov byte [ecx + 0x14], 1
mov dword [eax + 0x21a7c], 1
mov eax, dword [edx + 0x10]
test eax, eax
je 0x57c4e3
cmp dword [eax + 0x1c], ecx
jne 0x57c4dc
mov dword [eax + 0x1c], 0
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x57c4d0
mov eax, dword [ebp - 0x1c]
mov dword [esi], 0
add esi, 4
sub eax, 1
mov dword [ebp - 0x1c], eax
jne 0x57c4b0
mov esi, dword [edi + 0x218]
cmp esi, 0x24
je 0x57c50b
cmp esi, 0x25
jne 0x57c911
movzx eax, word [edi + 0x176]
cmp esi, 0x25
mov ecx, eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], ecx
mov ecx, 3
cmovne ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x48], 0xff005555
mov dword [ebp - 0x44], 0xff885500
mov dword [ebp - 0x40], 0xff550000
mov dword [ebp - 0x3c], 0xff005500
cmp ax, 0xb
jne 0x57c55f
mov eax, 1
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
jmp 0x57c6c6
cmp word [ebp - 0x24], 0xa
jne 0x57c575
mov ecx, 2
mov eax, ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x14], eax
jmp 0x57c583
mov eax, ecx
mov dword [ebp - 0x14], eax
cmp eax, 2
jne 0x57c6c6
mov ecx, 0x3a2
cmp word [edi + 0x18e], cx
je 0x57c6c6
movaps xmm0, xmmword [0x6054d0]
lea esi, [edi + 0x794]
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x60], 5
mov dword [ebp - 0x5c], 6
mov dword [ebp - 0x58], 7
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x1c], esi
nop dword [eax]
push 0xcc
mov dword [esi], 0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x24], esi
mov dword [ebp - 4], 4
push 0xcc
push 0
push esi
call fcn.00468b40
movd xmm1, dword [ebp - 0x18]
add esp, 4
movss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x604d7c]
movss xmm2, dword [edi + 0x28]
cvtdq2ps xmm1, xmm1
push edi
push 0
sub esp, 0xc
mov ecx, esp
mulss xmm1, dword [0x604ce8]
addss xmm1, xmm0
movss xmm0, dword [edi + 0x2c]
movss dword [ebp - 0x78], xmm0
mov eax, dword [ebp - 0x78]
unpcklps xmm2, xmm1
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.004f32c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x1c]
mov edx, dword [0x9c25b0]
mov dword [esi], ecx
test ecx, ecx
je 0x57c6a4
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 0x90], eax
mov ecx, dword [esi]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x70]
mov dword [ecx + 0xb4], eax
mov ecx, dword [edx + 0x2c]
mov eax, dword [esi]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
mov dword [eax + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [edx + 0xc], eax
mov eax, edx
mov edx, dword [0x9c25b0]
mov dword [ecx + 0x10], eax
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x57c6a4
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x2c]
add esi, 4
inc dword [ebp - 0x18]
add eax, 0x96
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], esi
cmp eax, 0x41a
jl 0x57c5d0
mov eax, dword [ebp - 0x14]
movaps xmm0, xmmword [0x6054c0]
xor esi, esi
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x60], 7
movaps xmm0, xmmword [0x605620]
movups xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0x5c], 2
movaps xmm0, xmmword [0x6055d0]
movups xmmword [ebp - 0xf0], xmm0
mov dword [ebp - 0x58], 3
movaps xmm0, xmmword [0x605680]
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0x18], esi
movaps xmm0, xmmword [0x605660]
movups xmmword [ebp - 0xd0], xmm0
movaps xmm0, xmmword [0x605640]
movups xmmword [ebp - 0xc0], xmm0
movaps xmm0, xmmword [0x6055c0]
movups xmmword [ebp - 0xb0], xmm0
movaps xmm0, xmmword [0x605690]
movups xmmword [ebp - 0xa0], xmm0
movaps xmm0, xmmword [0x605670]
movups xmmword [ebp - 0x170], xmm0
movaps xmm0, xmmword [0x605600]
movups xmmword [ebp - 0x160], xmm0
movaps xmm0, xmmword [0x605710]
movups xmmword [ebp - 0x150], xmm0
movaps xmm0, xmmword [0x6056f0]
movups xmmword [ebp - 0x140], xmm0
movaps xmm0, xmmword [0x6056b0]
movups xmmword [ebp - 0x130], xmm0
movaps xmm0, xmmword [0x6055f0]
movups xmmword [ebp - 0x120], xmm0
movaps xmm0, xmmword [0x605720]
movups xmmword [ebp - 0x110], xmm0
nop
cmp esi, 2
jne 0x57c7c8
cmp eax, 1
je 0x57c904
cmp eax, esi
je 0x57c904
jmp 0x57c7d6
cmp esi, 5
jl 0x57c7d6
cmp eax, 2
jne 0x57c911
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x24], esi
mov dword [ebp - 4], 5
push 0x184
push 0
push esi
call fcn.00468b40
mov ecx, dword [ebp - 0x28]
add esp, 0xc
movss xmm0, dword [edi + 0x38]
movaps xmm3, xmm0
lea eax, [ecx*8]
sub eax, ecx
mov ecx, esi
add eax, dword [ebp - 0x18]
push 0x50
push 8
sub esp, 0xc
mulss xmm3, dword [ebp + eax*4 - 0x100]
mulss xmm0, dword [ebp + eax*4 - 0x170]
mov dword [esp + 8], 0
movss dword [esp + 4], xmm3
movss dword [esp], xmm0
push 0
push 0x65
call fcn.004eb060
mov edx, eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x18]
mov dword [edi + esi*4 + 0x75c], edx
test edx, edx
je 0x57c8fb
mov ecx, dword [edx]
mov eax, dword [ecx + 0x3c]
mov ecx, dword [ebp - 0x28]
push dword [ebp + ecx*4 - 0x48]
mov ecx, edx
call eax
mov eax, dword [edi + esi*4 + 0x75c]
mov edx, dword [0x9c25b0]
mov dword [eax + 0x6c], 1
mov eax, dword [edi + esi*4 + 0x75c]
mov dword [eax + 0x104], 0
mov ecx, dword [edi + esi*4 + 0x75c]
mov eax, dword [ebp + esi*4 - 0x70]
lea eax, [eax + eax*2]
movq xmm0, qword [edi + eax*4 + 0x64]
movq qword [ecx + 0x74], xmm0
mov eax, dword [edi + eax*4 + 0x6c]
mov dword [ecx + 0x7c], eax
mov eax, dword [edi + esi*4 + 0x75c]
mov dword [eax + 0x10c], 0
mov eax, dword [edi + esi*4 + 0x75c]
mov ecx, dword [edx + 0x2c]
mov dword [ebp - 0x1c], eax
mov esi, dword [ebp - 0x1c]
mov dword [eax + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi + 0xc], eax
mov eax, esi
mov esi, dword [ebp - 0x18]
mov dword [ecx + 0x10], eax
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x57c901
mov dword [ecx + 8], eax
jmp 0x57c901
mov edx, dword [0x9c25b0]
mov eax, dword [ebp - 0x14]
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 7
jl 0x57c7b0
mov eax, 4
lea esi, [edi + 0x7b0]
mov dword [ebp - 0x1c], eax
nop
mov ecx, dword [esi]
test ecx, ecx
je 0x57c95c
mov eax, dword [0x9c25ac]
mov byte [ecx + 0x14], 1
mov dword [eax + 0x21a7c], 1
mov eax, dword [edx + 0x10]
test eax, eax
je 0x57c953
cmp dword [eax + 0x1c], ecx
jne 0x57c94c
mov dword [eax + 0x1c], 0
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x57c940
mov eax, dword [ebp - 0x1c]
mov dword [esi], 0
add esi, 4
sub eax, 1
mov dword [ebp - 0x1c], eax
jne 0x57c920
mov eax, dword [edi + 0x218]
cmp eax, 0x15
jne 0x57cb48
cmp word [edi + 0x172], 0xa
je 0x57c9b3
cmp eax, 0x19
jne 0x57cb7d
cmp word [edi + 0x172], 3
jne 0x57c9a5
cmp word [edi + 0x174], 8
je 0x57c9b3
cmp eax, eax
jne 0x57cb7d
cmp word [edi + 0x172], 0xc
jne 0x57cb7d
lea esi, [edi + 0x7b0]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], esi
mov ecx, dword [esi]
test ecx, ecx
je 0x57c9fc
mov eax, dword [0x9c25ac]
mov byte [ecx + 0x14], 1
mov dword [eax + 0x21a7c], 1
mov eax, dword [edx + 0x10]
test eax, eax
je 0x57c9f6
cmp dword [eax + 0x1c], ecx
jne 0x57c9ef
mov dword [eax + 0x1c], 0
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x57c9e3
mov dword [esi], 0
push 0x148
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x24], esi
mov dword [ebp - 4], 6
push 0x148
push 0
push esi
call fcn.00468b40
add esp, 0xc
mov ecx, esi
push edi
push 3
push 6
call fcn.004e4c20
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x18]
mov dword [esi], eax
test eax, eax
je 0x57cb61
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x38]
movd xmm0, dword [ebp - 0x14]
sub esp, 0xc
cvtdq2ps xmm0, xmm0
mov ecx, dword [esi]
mov dword [esp + 8], 0
mov eax, dword [ecx]
mulss xmm0, dword [0x604fb8]
divss xmm0, dword [0x605078]
movss dword [esp + 4], xmm0
mov dword [esp], 0
call dword [eax + 0x40]
movd xmm1, dword [ebp - 0x14]
sub esp, 0xc
mov ecx, dword [esi]
cvtdq2ps xmm1, xmm1
mov eax, dword [ecx]
mulss xmm1, dword [0x604ce8]
movaps xmm0, xmm1
addss xmm0, dword [edi + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x604e14]
addss xmm0, xmm1
addss xmm1, dword [edi + 0x28]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call dword [eax + 0x3c]
mov eax, dword [esi]
mov edx, dword [0x9c25b0]
movss xmm0, dword [eax + 0x134]
mulss xmm0, dword [0x604d2c]
movss dword [eax + 0x134], xmm0
mov eax, dword [esi]
movss xmm0, dword [eax + 0x130]
mulss xmm0, dword [0x604d2c]
movss dword [eax + 0x130], xmm0
movd xmm0, dword [ebp - 0x14]
mov eax, dword [esi]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x6050a4]
movss dword [eax + 0x12c], xmm0
mov eax, dword [esi]
mov ecx, dword [edx + 0x2c]
mov dword [ebp - 0x1c], eax
mov esi, dword [ebp - 0x1c]
mov dword [eax + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi + 0xc], eax
mov eax, esi
mov esi, dword [ebp - 0x18]
mov dword [ecx + 0x10], eax
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x57cb67
mov dword [ecx + 8], eax
jmp 0x57cb67
cmp eax, 0x1c
jne 0x57c980
cmp word [edi + 0x172], 2
je 0x57c9b3
jmp 0x57cb7d
mov edx, dword [0x9c25b0]
mov eax, dword [ebp - 0x14]
add esi, 4
inc eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], eax
cmp eax, 4
jl 0x57c9c3
mov ecx, dword [edi + 0x218]
cmp ecx, 0x22
je 0x57cba4
cmp ecx, 0x17
je 0x57cba4
cmp ecx, 0x15
jne 0x57cd1f
cmp word [edi + 0x172], 0xa
jne 0x57cd1f
mov byte [edi + 0xa26], 1
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x1c], 0x47
mov dword [ebp - 0x14], 0xffffaaff
cmp ecx, 0x17
jne 0x57cbdc
mov dword [ebp - 0x28], 2
mov byte [edi + 0xa26], 0
mov dword [ebp - 0x14], 0xff33ff66
jmp 0x57cbef
cmp ecx, 0x15
jne 0x57cbef
mov dword [ebp - 0x1c], 0x3c
mov dword [ebp - 0x14], 0xffee8800
lea esi, [edi + 0x75c]
mov dword [ebp - 0x18], esi
mov ecx, dword [esi]
test ecx, ecx
je 0x57cc31
mov eax, dword [0x9c25ac]
mov byte [ecx + 0x14], 1
mov dword [eax + 0x21a7c], 1
mov eax, dword [edx + 0x10]
test eax, eax
je 0x57cc2b
cmp dword [eax + 0x1c], ecx
jne 0x57cc24
mov dword [eax + 0x1c], 0
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x57cc18
mov dword [esi], 0
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x38], esi
mov dword [ebp - 4], 7
push 0x184
push 0
push esi
call fcn.00468b40
movss xmm3, dword [0x604dc4]
add esp, 0xc
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
push 0
push dword [ebp - 0x1c]
call fcn.004eb060
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x18]
mov dword [esi], eax
test eax, eax
je 0x57cd09
mov ecx, dword [eax]
push dword [ebp - 0x14]
mov edx, dword [ecx + 0x3c]
mov ecx, eax
call edx
mov eax, dword [esi]
mov edx, dword [0x9c25b0]
mov dword [eax + 0x6c], 1
mov eax, dword [esi]
mov dword [eax + 0x104], 0
mov ecx, dword [esi]
movq xmm0, qword [edi + 0x64]
movq qword [ecx + 0x74], xmm0
mov eax, dword [edi + 0x6c]
mov dword [ecx + 0x7c], eax
mov eax, dword [esi]
mov dword [eax + 0x10c], 0
mov eax, dword [esi]
mov ecx, dword [edx + 0x2c]
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0x24]
mov dword [eax + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi + 0xc], eax
mov eax, esi
mov esi, dword [ebp - 0x18]
mov dword [ecx + 0x10], eax
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x57cd0f
mov dword [ecx + 8], eax
jmp 0x57cd0f
mov edx, dword [0x9c25b0]
add esi, 4
sub dword [ebp - 0x28], 1
mov dword [ebp - 0x18], esi
jne 0x57cbf8
cmp dword [edi + 0x218], 0x1d
jne 0x57ce6a
cmp word [edi + 0x172], 1
jne 0x57ce6a
mov ecx, dword [edi + 0x75c]
test ecx, ecx
je 0x57cd7d
invalid
mov eax, dword [0x9c25ac]