Function at 0x544040
Capabilities:
Authenticate hmac
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x3b8
mov eax, dword [0x568008]
xor eax, esp
mov dword [esp + 0x3b4], eax
mov cl, 0x77
mov byte [esp + 0xe], 0
push esi
mov esi, dword [0x568260]
mov al, 0x2b
xor al, cl
mov byte [esp + 0x14], cl
mov byte [esp + 0x15], al
mov cl, 0x34
push edi
mov al, 6
mov byte [esp + 0x14], cl
xor al, cl
mov byte [esp + 0x1a], 0
sub esp, 0x18
mov byte [esp + 0x2d], al
lea eax, [esp + 0x2d]
mov dword [esp + 0x1a4], 0x104
mov ecx, esp
mov byte [esp + 0x32], 0
mov byte [esp + 0x2e], 0
push eax
call fcn.004a1bf0
lea ecx, [esp + 0x98]
call fcn.004d5770
add esp, 0x18
mov dword [esp + 0x14], eax
lea ecx, [esi - 1]
lea eax, [esp + 0x98]
push ecx
push 0
push eax
mov ecx, 0x568250
call fcn.004a34a0
sub esp, 0x18
mov dword [esp + 0x38], eax
lea eax, [esp + 0x31]
mov ecx, esp
push eax
call fcn.004a1bf0
lea ecx, [esp + 0xc8]
call fcn.004d5770
mov ecx, dword [0x568260]
add esp, 0x18
dec ecx
mov edi, eax
lea eax, [esp + 0x68]
push ecx
push 0
push eax
mov ecx, 0x568250
call fcn.004a34a0
mov esi, eax
mov byte [esp + 0xe0], 0x75
mov cl, 0x26
mov byte [esp + 0x1f], 7
xor cl, byte [esp + 0xe0]
mov al, 2
mov byte [esp + 0xe1], cl
mov dl, 0x1a
mov cl, byte [esp + 0xe0]
mov ch, 0x13
xor al, cl
mov byte [esp + 0x1e], 0x10
mov byte [esp + 0xe5], al
mov dh, 1
mov al, byte [esp + 0x1f]
mov ah, 0x14
xor dl, cl
mov byte [esp + 0x13], 0x29
xor ch, cl
mov byte [esp + 0xea], 0
xor dh, cl
mov byte [esp + 0xe2], dl
xor ah, cl
mov byte [esp + 0xe3], ch
xor al, cl
mov byte [esp + 0xe4], dh
mov byte [esp + 0xe7], al
mov al, byte [esp + 0x1e]
mov byte [esp + 0xe6], ah
xor al, cl
mov byte [esp + 0xea], 0
mov byte [esp + 0xe8], al
sub esp, 0x18
mov al, byte [esp + 0x2b]
xor al, cl
mov ecx, esp
mov byte [esp + 0x101], al
lea eax, [esp + 0xf9]
push eax
call fcn.004a1bf0
lea ecx, [esp + 0x40]
call fcn.004d5770
add esp, 0x18
lea ecx, [esp + 0x100]
push esi
push eax
push dword [esp + 0xe8]
call fcn.004a44f0
push edi
lea eax, [esp + 0x104]
push eax
push dword [esp + 0xe8]
lea ecx, [esp + 0x14c]
call fcn.004a44f0
push dword [esp + 0x20]
lea eax, [esp + 0x144]
push eax
push dword [esp + 0xe8]
lea ecx, [esp + 0x19c]
call fcn.004a44f0
push dword [esp + 0x14]
lea eax, [esp + 0x194]
push eax
push dword [esp + 0xe8]
lea ecx, [esp + 0x16c]
call fcn.004a44f0
lea ecx, [esp + 0x190]
call fcn.004a1c30
lea ecx, [esp + 0x140]
call fcn.004a1c30
lea ecx, [esp + 0x100]
call fcn.004a1c30
lea ecx, [esp + 0x28]
call fcn.004a1c30
lea ecx, [esp + 0x68]
call fcn.004a1c30
lea ecx, [esp + 0xb0]
call fcn.004a1c30
lea ecx, [esp + 0x98]
call fcn.004a1c30
lea ecx, [esp + 0x80]
call fcn.004a1c30
mov edx, dword [0x568a74]
xorps xmm0, xmm0
movaps xmmword [esp + 0x120], xmm0
xor edi, edi
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0xf
mov eax, dword [edx + 0x3c]
mov byte [esp + 0x120], 0
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [esp + 0x20], eax
mov esi, dword [eax + 0x20]
add esi, edx
nop dword [eax]
mov ecx, dword [esi]
add ecx, edx
mov edx, 0xbdf44f5a
mov al, byte [ecx]
inc ecx
test al, al
je 0x54430d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x5442f0
cmp edx, 0xdbd35da7
je 0x544319
mov edx, dword [0x568a74]
inc edi
add esi, 4
jmp 0x5442e0
mov esi, dword [esp + 0x20]
mov edx, dword [0x568a74]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + edx]
lea eax, [esp + 0x160]
add ecx, edx
cmp dword [esp + 0x174], 8
lea edx, [esp + 0xfc]
cmovae eax, dword [esp + 0x160]
push edx
push 0x101
push 0
push eax
push 0x80000001
call ecx
test eax, eax
jne 0x546f99
mov cl, 0x47
mov byte [esp + 0x1a], 0
mov al, 0x76
mov byte [esp + 0x18], cl
xor al, cl
mov byte [esp + 0x1a], 0
sub esp, 0x18
mov byte [esp + 0x31], al
lea eax, [esp + 0x31]
mov ecx, esp
push eax
call fcn.004a1bf0
lea ecx, [esp + 0x80]
call fcn.004d5770
push eax
mov edx, 0x568250
lea ecx, [esp + 0x44]
call fcn.004a5c90
add esp, 0x1c
lea ecx, [esp + 0x160]
push eax
call fcn.004a19d0
lea ecx, [esp + 0x28]
call fcn.004a1c30
lea ecx, [esp + 0x68]
call fcn.004a1c30
mov edi, dword [0x568a74]
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x20], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x84592094
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x54441d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x544400
cmp edx, 0x2acaeb2b
je 0x544426
inc dword [esp + 0x18]
add esi, 4
jmp 0x5443f0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea edx, [esp + 0x18c]
push edx
lea edx, [esp + 0x1b4]
push edx
lea eax, [eax + ecx*4]
mov ecx, dword [eax + edi]
lea eax, [esp + 0x168]
add ecx, edi
cmp dword [esp + 0x17c], 8
push 0
cmovae eax, dword [esp + 0x16c]
push 0
push eax
push dword [esp + 0x110]
call ecx
test eax, eax
jne 0x546f99
xor esi, esi
nop dword [eax]
nop word [eax + eax]
movzx eax, byte [esp + esi*2 + 0x1b0]
lea ecx, [esp + 0x120]
push eax
call fcn.004a3d30
inc esi
cmp esi, 0x208
jb 0x544490
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 1
jl 0x54450c
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 1
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
lea ecx, [esp + 0x28]
test eax, eax
setne byte [0x568bca]
call fcn.004a1c30
mov ch, 0x1d
mov byte [esp + 0xe5], 0
mov cl, 0x2d
mov byte [esp + 0xe0], ch
mov dl, 0x75
mov byte [esp + 0xe5], 0
xor cl, ch
mov dword [esp + 0x110], 0
xor dl, ch
mov byte [esp + 0xe2], cl
mov al, 0x51
mov byte [esp + 0xe3], dl
xor al, ch
mov dword [esp + 0x114], 0
mov ah, 0x76
mov byte [esp + 0xe1], al
xor ah, ch
xorps xmm0, xmm0
lea ecx, [esp + 0xe1]
mov byte [esp + 0xe4], ah
movaps xmmword [esp + 0x100], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x544580
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a2240
mov al, 0x39
mov byte [esp + 0xe0], 0x70
mov ch, al
mov byte [esp + 0xe7], 0
xor al, byte [esp + 0xe0]
mov cl, 0x21
mov byte [esp + 0xe1], al
mov dl, 0x1a
mov al, byte [esp + 0xe0]
mov ah, 4
xor cl, al
mov byte [esp + 0xe7], 0
xor ch, al
mov byte [esp + 0xe2], cl
mov dh, 0x43
mov byte [esp + 0xe5], ch
xor dl, al
lea ecx, [esp + 0xe1]
xor ah, al
mov byte [esp + 0xe3], dl
xor dh, al
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe6], dh
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x544610
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a1de0
mov dh, 0x45
mov byte [esp + 0xe6], 0
mov cl, 0x71
mov byte [esp + 0xe0], dh
mov dl, 0x74
mov byte [esp + 0xe6], 0
xor cl, dh
mov al, 0x10
mov ah, 0x37
mov byte [esp + 0xe2], cl
mov ch, 0x30
xor al, dh
xor dl, dh
mov byte [esp + 0xe1], al
xor ah, dh
mov byte [esp + 0xe3], dl
xor ch, dh
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe5], ch
lea ecx, [esp + 0xe1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x544688
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a1de0
lea ecx, [esp + 0x100]
call fcn.004a1ba0
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 2
jl 0x544710
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 2
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
lea ecx, [esp + 0x28]
test eax, eax
setne byte [0x568022]
call fcn.004a1c30
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 3
jl 0x54476e
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 3
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
lea ecx, [esp + 0x28]
test eax, eax
setne byte [0x568b6f]
call fcn.004a1c30
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 4
jl 0x5447cc
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 4
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
lea ecx, [esp + 0x28]
test eax, eax
setne byte [0x568bc8]
call fcn.004a1c30
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 5
jl 0x54482a
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 5
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
lea ecx, [esp + 0x28]
test eax, eax
setne byte [0x568bc9]
call fcn.004a1c30
mov ch, 0x2c
mov byte [esp + 0xe5], 0
mov cl, 0x49
mov byte [esp + 0xe0], ch
mov dl, 0x6e
mov byte [esp + 0xe5], 0
xor cl, ch
mov dword [esp + 0x150], 0
xor dl, ch
mov byte [esp + 0xe2], cl
mov al, 0x5a
mov byte [esp + 0xe3], dl
xor al, ch
mov dword [esp + 0x154], 0
mov ah, 0x4f
mov byte [esp + 0xe1], al
xor ah, ch
xorps xmm0, xmm0
lea ecx, [esp + 0xe1]
mov byte [esp + 0xe4], ah
movaps xmmword [esp + 0x140], xmm0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5448a0
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x148]
call fcn.004a2240
mov byte [esp + 0xe0], 0x1c
mov al, 0x5e
xor al, byte [esp + 0xe0]
mov cl, 0x4e
mov ch, 0x2f
mov byte [esp + 0xe1], al
mov al, byte [esp + 0xe0]
mov dl, 0x4f
xor cl, al
mov byte [esp + 0xe7], 0
xor ch, al
mov byte [esp + 0xe2], cl
mov ah, 0x44
mov byte [esp + 0xe5], ch
mov dh, 0x4a
mov byte [esp + 0xe7], 0
xor dl, al
lea ecx, [esp + 0xe1]
xor ah, al
mov byte [esp + 0xe3], dl
xor dh, al
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe6], dh
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x544930
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x148]
call fcn.004a1de0
lea ecx, [esp + 0x140]
call fcn.004a1ba0
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 6
jl 0x5449b8
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 6
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
lea ecx, [esp + 0x28]
test eax, eax
setne byte [0x568023]
call fcn.004a1c30
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 7
jl 0x544a16
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 7
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
lea ecx, [esp + 0x28]
test eax, eax
setne byte [0x568027]
call fcn.004a1c30
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 8
jl 0x544a74
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 8
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
lea ecx, [esp + 0x28]
test eax, eax
setne byte [0x568a3c]
call fcn.004a1c30
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 9
jl 0x544ad2
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 9
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
lea ecx, [esp + 0x28]
test eax, eax
setne byte [0x568020]
call fcn.004a1c30
mov byte [esp + 0xe0], 9
mov al, 0x7a
xor al, byte [esp + 0xe0]
mov cl, 0x5c
mov byte [esp + 0xe1], al
mov dl, 0x4f
mov al, byte [esp + 0xe0]
mov ch, 0x58
mov dh, 0x5e
mov byte [esp + 0x13], 0x5b
xor cl, al
mov byte [esp + 0xe8], 0
xor dl, al
mov byte [esp + 0xe2], cl
xor ch, al
mov byte [esp + 0xe3], dl
xor dh, al
mov byte [esp + 0xe5], ch
mov ah, 0x59
mov byte [esp + 0xe6], dh
xor ah, al
mov byte [esp + 0xe8], 0
mov al, byte [esp + 0x13]
lea ecx, [esp + 0xe1]
xor al, byte [esp + 0xe0]
lea edx, [ecx + 1]
xorps xmm0, xmm0
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe7], al
movaps xmmword [esp + 0x140], xmm0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x544b80
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x148]
call fcn.004a2240
mov byte [esp + 0xe0], 0x16
mov al, 0x79
xor al, byte [esp + 0xe0]
mov cl, 0x7c
mov byte [esp + 0xe1], al
mov dl, 0x51
mov al, byte [esp + 0xe0]
mov ch, 0x62
mov dh, 0x22
mov byte [esp + 0x13], 0x74
xor cl, al
mov byte [esp + 0xe8], 0
xor dl, al
mov byte [esp + 0xe2], cl
xor ch, al
mov byte [esp + 0xe3], dl
xor dh, al
mov byte [esp + 0xe5], ch
mov ah, 0x75
mov byte [esp + 0xe6], dh
xor ah, al
mov byte [esp + 0xe8], 0
mov al, byte [esp + 0x13]
lea ecx, [esp + 0xe1]
xor al, byte [esp + 0xe0]
lea edx, [ecx + 1]
xorps xmm0, xmm0
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe7], al
movaps xmmword [esp + 0x100], xmm0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x544c46
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a2240
mov dh, 0x7c
mov byte [esp + 0xe6], 0
mov al, 0x2f
mov byte [esp + 0xe0], dh
mov cl, 0xb
mov byte [esp + 0xe6], 0
mov dl, 0x1f
mov ch, al
xor cl, dh
mov ah, 0x3f
xor al, dh
mov byte [esp + 0xe2], cl
xor dl, dh
mov byte [esp + 0xe1], al
xor ah, dh
mov byte [esp + 0xe3], dl
xor ch, dh
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe5], ch
lea ecx, [esp + 0xe1]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x544cc0
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a1de0
mov dh, 0x48
mov byte [esp + 0xe6], 0
mov dl, 0xc
mov byte [esp + 0xe0], dh
mov cl, 0x31
mov byte [esp + 0xe6], 0
xor cl, dh
xor dl, dh
mov al, 0x7a
mov byte [esp + 0xe3], dl
mov ah, 0x2f
mov byte [esp + 0xe2], cl
mov ch, 0x3c
xor al, dh
xor ah, dh
mov byte [esp + 0xe1], al
xor ch, dh
mov byte [esp + 0xe4], ah
lea edx, [esp + 0xe1]
mov byte [esp + 0xe5], ch
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x544d38
sub edx, ecx
lea eax, [esp + 0xe1]
cmp dword [esp + 0x114], 0x10
lea ecx, [esp + 0x100]
push edx
cmovae ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x114]
push eax
call fcn.004a23e0
add esp, 8
test al, al
je 0x544dee
mov byte [esp + 0xe0], 0x61
mov al, 6
xor al, byte [esp + 0xe0]
mov ah, 0x24
mov byte [esp + 0xe1], al
mov cl, 0x28
mov al, byte [esp + 0xe0]
mov dl, 0x25
xor ah, al
mov byte [esp + 0xe7], 0
mov ch, 0x38
mov byte [esp + 0xe4], ah
mov dh, 7
mov byte [esp + 0xe7], 0
xor cl, al
xor ch, al
xor dl, al
mov byte [esp + 0xe2], cl
xor dh, al
mov byte [esp + 0xe5], ch
lea eax, [esp + 0xe1]
mov byte [esp + 0xe3], dl
push eax
lea ecx, [esp + 0x144]
mov byte [esp + 0xea], dh
call fcn.004a1aa0
lea ecx, [esp + 0x100]
call fcn.004a1ba0
lea ecx, [esp + 0x140]
call fcn.004a1ba0
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 0xa
jl 0x544e64
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 0xa
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
lea ecx, [esp + 0x28]
test eax, eax
setne byte [0x568bcb]
call fcn.004a1c30
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 0xb
jl 0x544ebe
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 0xb
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
mov dword [0x568a50], eax
lea ecx, [esp + 0x28]
call fcn.004a1c30
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 0xc
jl 0x544f18
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 0xc
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
mov dword [0x568a54], eax
lea ecx, [esp + 0x28]
call fcn.004a1c30
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 0xd
jl 0x544f6e
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 0xd
lea ecx, [esp + 0x40]
call fcn.00543e90
add esp, 0x18
mov ecx, 0x5682b0
push eax
call fcn.004a19d0
lea ecx, [esp + 0x28]
call fcn.004a1c30
mov ch, 0x22
mov byte [esp + 0xe5], 0
mov cl, 0x69
mov byte [esp + 0xe0], ch
mov dl, 0x16
mov byte [esp + 0xe5], 0
xor cl, ch
mov dword [esp + 0x1a0], 0
xor dl, ch
mov byte [esp + 0xe2], cl
mov al, 0x13
mov byte [esp + 0xe3], dl
xor al, ch
mov dword [esp + 0x1a4], 0
mov ah, 0x74
mov byte [esp + 0xe1], al
xor ah, ch
xorps xmm0, xmm0
lea ecx, [esp + 0xe1]
mov byte [esp + 0xe4], ah
movaps xmmword [esp + 0x190], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x544fe0
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x198]
call fcn.004a2240
mov byte [esp + 0xe0], 0x4e
mov al, 0x7d
xor al, byte [esp + 0xe0]
mov cl, 0x20
mov ch, 0x26
mov byte [esp + 0xe1], al
mov al, byte [esp + 0xe0]
mov dl, 0xb
xor cl, al
mov byte [esp + 0xe7], 0
xor ch, al
mov byte [esp + 0xe2], cl
mov ah, 0x1e
mov byte [esp + 0xe5], ch
mov dh, 0x3b
mov byte [esp + 0xe7], 0
xor dl, al
mov dword [esp + 0x110], 0
xor ah, al
mov byte [esp + 0xe3], dl
xor dh, al
mov byte [esp + 0xe4], ah
xorps xmm0, xmm0
mov byte [esp + 0xe6], dh
lea ecx, [esp + 0xe1]
movaps xmmword [esp + 0x100], xmm0
mov dword [esp + 0x114], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x545090
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a2240
mov dh, 0x3d
mov byte [esp + 0xe6], 0
mov dl, 0x79
mov byte [esp + 0xe0], dh
mov cl, 0x54
mov byte [esp + 0xe6], 0
xor cl, dh
xor dl, dh
mov al, 0x65
mov byte [esp + 0xe3], dl
mov ah, 0x48
mov byte [esp + 0xe2], cl
mov ch, 0xe
xor al, dh
xor ah, dh
mov byte [esp + 0xe1], al
xor ch, dh
mov byte [esp + 0xe4], ah
lea edx, [esp + 0xe1]
mov byte [esp + 0xe5], ch
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x545108
sub edx, ecx
lea eax, [esp + 0xe1]
cmp dword [esp + 0x114], 0x10
lea ecx, [esp + 0x100]
push edx
cmovae ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x114]
push eax
call fcn.004a23e0
add esp, 8
test al, al
je 0x54522a
mov byte [esp + 0xe0], 0x53
mov al, 4
xor al, byte [esp + 0xe0]
mov ah, 0x12
mov byte [esp + 0xe1], al
mov dh, ah
mov al, byte [esp + 0xe0]
xor ch, ch
xor ah, al
mov byte [esp + 0xe7], 0
mov cl, 0x2b
mov byte [esp + 0xe4], ah
mov dl, 0x3c
xor cl, al
xor ch, al
mov byte [esp + 0xe2], cl
xor dl, al
mov byte [esp + 0xe5], ch
xor dh, al
mov byte [esp + 0xe3], dl
lea eax, [esp + 0xe1]
mov byte [esp + 0xe6], dh
push eax
lea ecx, [esp + 0x144]
call fcn.004a1bf0
mov dh, 0x3d
mov byte [esp + 0xe6], 0
mov cl, 0x57
mov byte [esp + 0xe0], dh
mov al, 0x6c
mov byte [esp + 0xe6], 0
mov ah, 0x6b
mov ch, cl
xor al, dh
xor ah, dh
xor cl, dh
mov byte [esp + 0xe1], al
xor ch, dh
mov byte [esp + 0xe4], ah
mov dl, 0x53
mov byte [esp + 0xe2], cl
lea eax, [esp + 0xe1]
mov byte [esp + 0xe5], ch
xor dl, dh
lea ecx, [esp + 0x140]
push eax
mov byte [esp + 0xe7], dl
call fcn.004a1aa0
lea ecx, [esp + 0x140]
call fcn.004a1ba0
lea ecx, [esp + 0x100]
call fcn.004a1ba0
lea ecx, [esp + 0x190]
call fcn.004a1ba0
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 0xe
jl 0x5452a0
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 0xe
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
lea ecx, [esp + 0x28]
test eax, eax
setne byte [0x568a3d]
call fcn.004a1c30
mov esi, dword [esp + 0x130]
mov dword [esp + 0x18], 0xf
mov dword [esp + 0x14], 0x568140
sub esp, 0x18
lea eax, [esp + 0x138]
cmp dword [esp + 0x14c], 0x10
mov edi, esp
xorps xmm0, xmm0
mov ecx, 0x16
cmovae eax, dword [esp + 0x138]
mov dword [esp + 0x3c], eax
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp esi, 0x7fffffff
ja 0x546ff7
mov dword [edi + 0x14], 0xf
cmp esi, 0x10
jae 0x545313
mov dword [edi + 0x10], esi
movups xmm0, xmmword [eax]
movups xmmword [edi], xmm0
jmp 0x545354
mov eax, esi
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x545326
mov eax, 0x7fffffff
jmp 0x54532c
cmp eax, 0x16
cmovb eax, ecx
mov dword [esp + 0x38], eax
inc eax
push eax
call fcn.004a2390
mov ecx, dword [esp + 0x38]
mov dword [edi + 0x14], ecx
lea ecx, [esi + 1]
push ecx
push dword [esp + 0x40]
mov dword [edi], eax
push eax
mov dword [edi + 0x10], esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call fcn.00543c90
mov edi, dword [esp + 0x30]
add esp, 0x18
cmp edi, eax
jge 0x54552e
lea eax, [edi - 0xf]
cmp eax, 8
jge 0x54552e
sub esp, 0x18
lea ecx, [esp + 0x138]
cmp dword [esp + 0x14c], 0x10
mov eax, esp
xorps xmm0, xmm0
mov dword [esp + 0x3c], eax
cmovae ecx, dword [esp + 0x138]
mov dword [esp + 0x38], ecx
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
cmp esi, 0x10
jae 0x5453bc
mov dword [eax + 0x10], esi
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
jmp 0x545405
mov edi, esi
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x5453d0
mov edi, 0x7fffffff
jmp 0x5453db
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
lea eax, [edi + 1]
push eax
call fcn.004a2390
mov ecx, dword [esp + 0x3c]
mov dword [ecx], eax
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], edi
lea ecx, [esi + 1]
push ecx
push dword [esp + 0x3c]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [esp + 0x3c]
add esp, 0xc
call fcn.00543c90
add esp, 0x18
cmp eax, edi
jl 0x545509
sub esp, 0x18
lea ecx, [esp + 0x138]
cmp dword [esp + 0x14c], 0x10
mov eax, esp
xorps xmm0, xmm0
mov dword [esp + 0x3c], eax
cmovae ecx, dword [esp + 0x138]
mov dword [esp + 0x38], ecx
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
cmp esi, 0x10
jae 0x54545d
mov dword [eax + 0x10], esi
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
jmp 0x5454a6
mov edi, esi
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x545471
mov edi, 0x7fffffff
jmp 0x54547c
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
lea eax, [edi + 1]
push eax
call fcn.004a2390
mov ecx, dword [esp + 0x3c]
mov dword [ecx], eax
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], edi
lea ecx, [esi + 1]
push ecx
push dword [esp + 0x3c]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [esp + 0x3c]
add esp, 0xc
mov edx, edi
lea ecx, [esp + 0x40]
call fcn.00543e90
add esp, 0x18
mov edi, eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [edi + 0x14], 8
mov dword [esp + 0x24], eax
jb 0x5454c8
mov edi, dword [edi]
mov dword [eax], 0
lea eax, [esp + 0xf8]
push 0xa
push eax
push edi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
add esp, 0xc
mov ecx, eax
cmp edi, dword [esp + 0xf8]
je 0x545523
mov eax, dword [esp + 0x24]
cmp dword [eax], 0x22
je 0x545518
mov eax, dword [esp + 0x14]
mov dword [eax], ecx
lea ecx, [esp + 0x28]
call fcn.004a1c30
mov edi, dword [esp + 0x18]
inc edi
add dword [esp + 0x14], 4
mov dword [esp + 0x18], edi
jmp 0x5452b7
push str.stoi_argument_out_of_range
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__]
push str.invalid_stoi_argument
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const__]
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 0x16
jl 0x545588
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 0x16
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
mov dword [0x56815c], eax
lea ecx, [esp + 0x28]
call fcn.004a1c30
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 0x17
jl 0x5455e6
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 0x17
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
lea ecx, [esp + 0x28]
test eax, eax
setne byte [0x568026]
call fcn.004a1c30
mov eax, dword [0x568140]
sub esp, 8
add eax, 0xfffffff4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x556c78]
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_round]
mov eax, dword [0x568144]
fdiv qword [0x556ca8]
add eax, 0xfffffff4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
fstp dword [0x56823c]
divsd xmm0, qword [0x556c78]
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_round]
mov eax, dword [0x568148]
fdiv qword [0x556ca8]
add eax, 0xfffffff4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
fstp dword [0x568238]
divsd xmm0, qword [0x556c78]
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_round]
fstp qword [esp + 0xe8]
cvttsd2si eax, qword [esp + 0xe8]
mov dword [0x568c0c], eax
mov eax, dword [0x56814c]
add eax, 0xfffffff4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x556c78]
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_round]
fstp qword [esp + 0xe8]
cvttsd2si eax, qword [esp + 0xe8]
mov byte [esp + 0xe8], 0x67
mov cl, 0x51
mov ch, 0x23
mov byte [esp + 0xef], 0
mov dl, 0xd
mov byte [esp + 0xef], 0
mov dh, 0x12
mov dword [esp + 0x118], 0
add esp, 8
mov dword [esp + 0x114], 0
xorps xmm0, xmm0
mov dword [0x568c10], eax
mov al, 0x55
xor al, byte [esp + 0xe0]
mov ah, 9
mov byte [esp + 0xe1], al
mov al, byte [esp + 0xe0]
xor cl, al
movaps xmmword [esp + 0x100], xmm0
xor ch, al
mov byte [esp + 0xe2], cl
xor dl, al
mov byte [esp + 0xe5], ch
xor ah, al
mov byte [esp + 0xe3], dl
xor dh, al
mov byte [esp + 0xe4], ah
lea ecx, [esp + 0xe1]
mov byte [esp + 0xe6], dh
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x545750
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a2240
mov dh, 0x72
mov byte [esp + 0xe6], 0
mov cl, 7
mov byte [esp + 0xe0], dh
mov dl, 0x42
mov byte [esp + 0xe6], 0
xor cl, dh
mov dword [esp + 0x150], 0
mov al, 0x35
mov byte [esp + 0xe2], cl
mov ah, 0x28
mov dword [esp + 0x154], 0
mov ch, 0x36
xor al, dh
xor dl, dh
mov byte [esp + 0xe1], al
xor ah, dh
mov byte [esp + 0xe3], dl
xor ch, dh
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe5], ch
xorps xmm0, xmm0
lea ecx, [esp + 0xe1]
movaps xmmword [esp + 0x140], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5457f0
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x148]
call fcn.004a2240
mov al, 0x34
mov byte [esp + 0xe0], 0x59
xor al, byte [esp + 0xe0]
mov cl, 0x2f
mov byte [esp + 0xe1], al
mov ch, 0xf
mov al, byte [esp + 0xe0]
mov dl, 0x3d
xor cl, al
mov byte [esp + 0xe7], 0
xor ch, al
mov byte [esp + 0xe2], cl
xor dl, al
mov byte [esp + 0xe5], ch
mov ah, 0x6a
mov byte [esp + 0xe3], dl
xor ah, al
mov byte [esp + 0xe7], 0
mov dh, 0x18
mov byte [esp + 0xe4], ah
xor dh, al
mov dword [esp + 0x50], 0
cmp dword [esp + 0x110], 1
lea eax, [esp + 0x100]
mov ecx, 1
mov byte [esp + 0xe6], dh
cmovb ecx, dword [esp + 0x110]
xorps xmm0, xmm0
cmp dword [esp + 0x114], 0x10
push ecx
cmovae eax, dword [esp + 0x104]
lea ecx, [esp + 0x44]
push eax
movaps xmmword [esp + 0x48], xmm0
mov dword [esp + 0x5c], 0
call fcn.004a2240
lea edx, [esp + 0xe1]
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x5458d0
mov edi, dword [esp + 0x54]
lea eax, [esp + 0xe1]
mov esi, dword [esp + 0x40]
sub edx, ecx
push edx
mov edx, dword [esp + 0x54]
lea ecx, [esp + 0x44]
cmp edi, 0x10
push eax
cmovae ecx, esi
call fcn.004a23e0
add esp, 8
mov byte [esp + 0x13], al
cmp edi, 0x10
jb 0x545938
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x54592a
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x546fc7
push ecx
push esi
call fcn.004a60c5
mov al, byte [esp + 0x1b]
add esp, 8
test al, al
je 0x5459ae
mov ch, 0x6b
mov byte [esp + 0xe5], 0
mov cl, 0x3e
mov byte [esp + 0xe0], ch
mov dl, cl
mov byte [esp + 0xe5], 0
xor cl, ch
xor dl, ch
mov al, 6
mov byte [esp + 0xe2], cl
xor al, ch
mov byte [esp + 0xe3], dl
mov ah, 0xe
mov byte [esp + 0xe1], al
xor ah, ch
lea ecx, [esp + 0xe1]
mov byte [esp + 0xe4], ah
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x545990
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x148]
call fcn.004a1de0
mov ecx, dword [esp + 0x154]
cmp ecx, 0x10
jb 0x5459ea
mov edx, dword [esp + 0x140]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5459e0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x546fc7
push ecx
push edx
call fcn.004a60c5
add esp, 8
mov ecx, dword [esp + 0x114]
cmp ecx, 0x10
jb 0x545a26
mov edx, dword [esp + 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x545a1c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x546fc7
push ecx
push edx
call fcn.004a60c5
add esp, 8
mov eax, dword [0x568150]
xorps xmm0, xmm0
add eax, 0xfffffff3
sub esp, 8
cvtsi2sd xmm0, eax
divsd xmm0, qword [0x556c50]
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_round]
mov eax, dword [0x568154]
xorps xmm0, xmm0
fdiv qword [0x556ca8]
add eax, 0xfffffff3
cvtsi2sd xmm0, eax
fstp dword [0x568248]
divsd xmm0, qword [0x556c50]
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_round]
mov eax, dword [0x568158]
xorps xmm0, xmm0
fdiv qword [0x556ca8]
add eax, 0xfffffff3
cvtsi2sd xmm0, eax
fstp dword [0x568240]
divsd xmm0, qword [0x556c50]
addsd xmm0, qword [0x556cb8]
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_round]
fdiv qword [0x556c88]
add esp, 8
movss xmm1, dword [0x556d4c]
fstp dword [esp + 0xf8]
movss xmm3, dword [esp + 0xf8]
movaps xmm0, xmm3
movss dword [0x568244], xmm3
subss xmm0, xmm1
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x556be8]
divsd xmm0, qword [0x556bb8]
mulsd xmm0, qword [0x556c50]
cvttsd2si eax, xmm0
movss xmm0, dword [0x556d50]
comiss xmm0, xmm3
mov dword [0x568158], eax
jb 0x545b44
movss xmm2, dword [0x556d6c]
movaps xmm0, xmm3
subss xmm0, xmm1
subss xmm2, xmm0
subss xmm2, xmm3
divss xmm2, dword [0x556d6c]
addss xmm2, dword [0x556bac]
movss dword [0x568244], xmm2
jmp 0x545dba
comiss xmm3, dword [0x556d54]
jb 0x545b73
movss xmm0, dword [0x556d58]
comiss xmm0, xmm3
jb 0x545b73
movss xmm1, dword [0x556d6c]
subss xmm1, xmm3
subss xmm1, dword [0x556cc0]
jmp 0x545da2
comiss xmm3, dword [0x556d5c]
jb 0x545ba2
movss xmm0, dword [0x556d60]
comiss xmm0, xmm3
jb 0x545ba2
movss xmm1, dword [0x556d6c]
subss xmm1, xmm3
subss xmm1, dword [0x556cc4]
jmp 0x545da2
comiss xmm3, dword [0x556d64]
jb 0x545dba
mov dh, 0x15
mov byte [esp + 0xe6], 0
mov cl, 0x7f
mov byte [esp + 0xe0], dh
mov dl, 0x41
mov byte [esp + 0xe6], 0
mov ch, cl
mov dword [esp + 0x150], 0
xor cl, dh
mov dword [esp + 0x154], 0
mov al, 0x76
mov byte [esp + 0xe2], cl
mov ah, 0x2d
xor al, dh
xor dl, dh
mov byte [esp + 0xe1], al
xor ah, dh
mov byte [esp + 0xe3], dl
xor ch, dh
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe5], ch
xorps xmm0, xmm0
lea ecx, [esp + 0xe1]
movaps xmmword [esp + 0x140], xmm0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x545c30
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x148]
call fcn.004a2240
mov dh, 0x6e
mov byte [esp + 0xe6], 0
mov cl, 0x28
mov byte [esp + 0xe0], dh
mov dl, 0x1c
mov byte [esp + 0xe6], 0
xor cl, dh
mov al, 0x56
mov ah, 0x25
mov byte [esp + 0xe2], cl
mov ch, 0x2b
xor al, dh
xor dl, dh
mov byte [esp + 0xe1], al
xor ah, dh
mov byte [esp + 0xe3], dl
xor ch, dh
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe5], ch
lea ecx, [esp + 0xe1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x545ca8
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x148]
call fcn.004a1de0
mov byte [esp + 0xe0], 0xa
mov cl, 0x7c
xor cl, byte [esp + 0xe0]
mov al, 0x5e
xor al, byte [esp + 0xe0]
mov ch, 0x61
mov byte [esp + 0xe1], al
mov dl, 0x3a
mov byte [esp + 0xe2], cl
mov dh, 0x6b
mov cl, byte [esp + 0xe0]
mov ah, 0x70
mov byte [esp + 0x13], 0x40
xor dl, cl
mov al, byte [esp + 0x13]
xor ch, cl
xor al, cl
mov byte [esp + 0x1e], 0x68
xor dh, cl
mov byte [esp + 0xe7], al
mov al, byte [esp + 0x1e]
xor ah, cl
xor al, cl
mov byte [esp + 0xe5], ch
lea ecx, [esp + 0xe1]
mov byte [esp + 0xe9], 0
mov byte [esp + 0xe3], dl
mov byte [esp + 0xe6], dh
lea edx, [ecx + 1]
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe8], al
mov byte [esp + 0xe9], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x545d60
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x148]
call fcn.004a1de0
lea ecx, [esp + 0x140]
call fcn.004a1ba0
movss xmm1, dword [0x556d6c]
subss xmm1, dword [0x568244]
subss xmm1, dword [0x556cd0]
divss xmm1, dword [0x556d6c]
addss xmm1, dword [0x556bac]
movss dword [0x568244], xmm1
mov ch, 0x2a
mov byte [esp + 0xe5], 0
mov cl, 0x1d
mov byte [esp + 0xe0], ch
mov dl, 0x7a
mov byte [esp + 0xe5], 0
xor cl, ch
mov dword [esp + 0x150], 0
xor dl, ch
mov byte [esp + 0xe2], cl
mov al, 0x61
mov byte [esp + 0xe3], dl
xor al, ch
mov dword [esp + 0x154], 0
mov ah, 0x58
mov byte [esp + 0xe1], al
xor ah, ch
xorps xmm0, xmm0
lea ecx, [esp + 0xe1]
mov byte [esp + 0xe4], ah
movaps xmmword [esp + 0x140], xmm0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x545e30
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x148]
call fcn.004a2240
mov dh, 0x58
mov byte [esp + 0xe6], 0
mov cl, 0x6e
mov byte [esp + 0xe0], dh
mov dl, 0x1b
mov byte [esp + 0xe6], 0
xor cl, dh
mov dword [esp + 0x110], 0
mov al, 0x36
mov byte [esp + 0xe2], cl
mov ah, 0x6f
mov dword [esp + 0x114], 0
mov ch, 0x21
xor al, dh
xor dl, dh
mov byte [esp + 0xe1], al
xor ah, dh
mov byte [esp + 0xe3], dl
xor ch, dh
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe5], ch
xorps xmm0, xmm0
lea ecx, [esp + 0xe1]
movaps xmmword [esp + 0x100], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x545ed0
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a2240
mov dh, 0x51
mov byte [esp + 0xe6], 0
mov dl, 0x67
mov byte [esp + 0xe0], dh
mov cl, 0x1e
mov byte [esp + 0xe6], 0
xor cl, dh
xor dl, dh
mov al, 0x60
mov byte [esp + 0xe3], dl
mov ah, 5
mov byte [esp + 0xe2], cl
mov ch, 0x10
xor al, dh
xor ah, dh
mov byte [esp + 0xe1], al
xor ch, dh
mov byte [esp + 0xe4], ah
lea edx, [esp + 0xe1]
mov byte [esp + 0xe5], ch
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x545f48
mov edi, dword [esp + 0x114]
lea eax, [esp + 0xe1]
mov esi, dword [esp + 0x100]
sub edx, ecx
push edx
mov edx, dword [esp + 0x114]
lea ecx, [esp + 0x104]
cmp edi, 0x10
push eax
cmovae ecx, esi
call fcn.004a23e0
add esp, 8
test al, al
je 0x545ffa
mov dh, 0x28
mov byte [esp + 0xe6], 0
mov al, 0x49
mov byte [esp + 0xe0], dh
mov ah, 0x61
mov byte [esp + 0xe6], 0
xor al, dh
xor ah, dh
mov cl, 0x64
mov byte [esp + 0xe1], al
mov ch, 0x71
mov byte [esp + 0xe4], ah
xor cl, dh
lea eax, [esp + 0xe1]
xor ch, dh
mov byte [esp + 0xe2], cl
mov dl, 0x1e
mov byte [esp + 0xe5], ch
xor dl, dh
lea ecx, [esp + 0x100]
push eax
mov byte [esp + 0xe7], dl
call fcn.004a1aa0
mov edi, dword [esp + 0x114]
mov esi, dword [esp + 0x100]
cmp edi, 0x10
jb 0x54602a
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x546020
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x546fc7
push ecx
push esi
call fcn.004a60c5
add esp, 8
mov ecx, dword [esp + 0x154]
cmp ecx, 0x10
jb 0x546066
mov edx, dword [esp + 0x140]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x54605c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x546fc7
push ecx
push edx
call fcn.004a60c5
add esp, 8
cmp byte [0x568bcb], 0
mov ecx, 0xcc0020
mov eax, 0x330008
cmove eax, ecx
cmp byte [0x568bca], 0
mov dword [0x568234], eax
lea ecx, [esp + 0x120]
mov eax, dword [0x5680b4]
cmovne eax, dword [0x5680b0]
push 0x556ba2
mov dword [0x569434], eax
call fcn.004a1aa0
mov cl, 0x45
mov byte [esp + 0x16], 0
mov al, 0x77
mov byte [esp + 0x14], cl
xor al, cl
mov byte [esp + 0x16], 0
xorps xmm0, xmm0
mov byte [esp + 0x15], al
lea ecx, [esp + 0x15]
movaps xmmword [esp + 0x100], xmm0
mov dword [esp + 0x110], 0
lea edx, [ecx + 1]
mov dword [esp + 0x114], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5460e8
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a2240
cmp dword [esp + 0x114], 0x10
lea ecx, [esp + 0x100]
mov eax, dword [esp + 0x110]
cmovae ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x114], 0x10
lea ecx, [esp + 0x100]
cmovae ecx, dword [esp + 0x100]
push ecx
push eax
push ecx
lea ecx, [esp + 0x19c]
call fcn.004a3ff0
mov ecx, dword [esp + 0x114]
cmp ecx, 0x10
jb 0x546187
mov edx, dword [esp + 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x54617d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x54617d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004a60c5
add esp, 8
cmp dword [0x568264], 8
mov eax, 0x568250
push dword [0x568260]
cmovae eax, dword [0x568250]
push eax
push ecx
lea ecx, [esp + 0x19c]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0xf
mov byte [esp + 0x10c], 0
call fcn.004a5810
xor ecx, ecx
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x140], xmm0
movq xmm0, qword [eax + 0x10]
mov word [eax], cx
lea ecx, [esp + 0x160]
movq qword [esp + 0xe0], xmm0
movq qword [esp + 0x150], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
call fcn.004a1c30
movaps xmm0, xmmword [esp + 0x40]
lea ecx, [esp + 0x140]
movaps xmmword [esp + 0x160], xmm0
xor eax, eax
movq xmm0, qword [esp + 0xe0]
movq qword [esp + 0x170], xmm0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 7
mov word [esp + 0x140], ax
call fcn.004a1c30
lea ecx, [esp + 0x190]
call fcn.004a1c30
mov edi, dword [0x568a74]
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0xf8], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, 0x20be9d9f
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x5462bd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x5462a0
cmp edx, 0x65e61644
je 0x5462c6
inc dword [esp + 0x18]
add esi, 4
jmp 0x546290
mov edx, dword [esp + 0xf8]
mov ecx, dword [esp + 0x18]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea edx, [esp + 0x18c]
push edx
lea edx, [esp + 0x1b4]
push edx
lea eax, [eax + ecx*4]
mov ecx, dword [eax + edi]
lea eax, [esp + 0x168]
add ecx, edi
cmp dword [esp + 0x17c], 8
push 0
cmovae eax, dword [esp + 0x16c]
push 0
push eax
push dword [esp + 0x110]
call ecx
test eax, eax
jne 0x546f99
xor esi, esi
nop word [eax + eax]
movzx eax, byte [esp + esi*2 + 0x1b0]
lea ecx, [esp + 0x120]
push eax
call fcn.004a3d30
inc esi
cmp esi, 0x208
jb 0x546330
mov esi, dword [esp + 0x130]
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 0x5680b0
sub esp, 0x18
lea eax, [esp + 0x138]
cmp dword [esp + 0x14c], 0x10
mov edi, esp
xorps xmm0, xmm0
cmovae eax, dword [esp + 0x138]
mov dword [esp + 0x110], eax
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp esi, 0x7fffffff
ja 0x546ff7
mov dword [edi + 0x14], 0xf
cmp esi, 0x10
jae 0x5463bf
mov dword [edi + 0x10], esi
movups xmm0, xmmword [eax]
movups xmmword [edi], xmm0
jmp 0x546408
mov eax, esi
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x5463d2
mov eax, 0x7fffffff
jmp 0x5463dd
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [esp + 0x38], eax
inc eax
push eax
call fcn.004a2390
mov ecx, dword [esp + 0x38]
mov dword [edi + 0x14], ecx
lea ecx, [esi + 1]
push ecx
push dword [esp + 0x114]
mov dword [edi], eax
push eax
mov dword [edi + 0x10], esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call fcn.00543c90
add esp, 0x18
cmp dword [esp + 0x18], eax
jge 0x5465e5
mov edi, dword [esp + 0x14]
cmp edi, 0x568130
jge 0x5465e5
sub esp, 0x18
lea ecx, [esp + 0x138]
cmp dword [esp + 0x14c], 0x10
mov eax, esp
xorps xmm0, xmm0
mov dword [esp + 0x110], eax
cmovae ecx, dword [esp + 0x138]
mov dword [esp + 0x3c], ecx
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
cmp esi, 0x10
jae 0x546475
mov dword [eax + 0x10], esi
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
jmp 0x5464c1
mov edi, esi
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x546489
mov edi, 0x7fffffff
jmp 0x546494
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
lea eax, [edi + 1]
push eax
call fcn.004a2390
mov ecx, dword [esp + 0x110]
mov dword [ecx], eax
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], edi
lea ecx, [esi + 1]
push ecx
push dword [esp + 0x40]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [esp + 0x38]
add esp, 0xc
call fcn.00543c90
add esp, 0x18
cmp eax, dword [esp + 0x18]
jl 0x5465d5
sub esp, 0x18
lea ecx, [esp + 0x138]
cmp dword [esp + 0x14c], 0x10
mov eax, esp
xorps xmm0, xmm0
mov dword [esp + 0x110], eax
cmovae ecx, dword [esp + 0x138]
mov dword [esp + 0x3c], ecx
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
cmp esi, 0x10
jae 0x54651e
mov dword [eax + 0x10], esi
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
jmp 0x546566
mov edi, esi
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x546532
mov edi, 0x7fffffff
jmp 0x54653d
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
lea eax, [edi + 1]
push eax
call fcn.004a2390
mov ecx, dword [esp + 0x110]
mov dword [ecx], eax
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], edi
lea ecx, [esi + 1]
push ecx
push dword [esp + 0x40]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x40]
call fcn.00543e90
add esp, 0x18
mov edi, eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [edi + 0x14], 8
mov dword [esp + 0xf8], eax
jb 0x54658d
mov edi, dword [edi]
mov dword [eax], 0
lea eax, [esp + 0xe0]
push 0xa
push eax
push edi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
add esp, 0xc
mov ecx, eax
cmp edi, dword [esp + 0xe0]
je 0x545523
mov eax, dword [esp + 0xf8]
cmp dword [eax], 0x22
je 0x545518
mov edi, dword [esp + 0x14]
mov dword [edi], ecx
lea ecx, [esp + 0x28]
call fcn.004a1c30
inc dword [esp + 0x18]
add edi, 4
mov dword [esp + 0x14], edi
jmp 0x546365
mov ch, 0x15
mov byte [esp + 0xe5], 0
mov cl, 0x7a
mov byte [esp + 0xe0], ch
mov dl, 0x41
mov byte [esp + 0xe5], 0
xor cl, ch
mov dword [esp + 0x110], 0
xor dl, ch
mov byte [esp + 0xe2], cl
mov al, 0x66
mov byte [esp + 0xe3], dl
xor al, ch
mov dword [esp + 0x114], 0
mov ah, 0x7d
mov byte [esp + 0xe1], al
xor ah, ch
xorps xmm0, xmm0
lea ecx, [esp + 0xe1]
mov byte [esp + 0xe4], ah
movaps xmmword [esp + 0x100], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x546655
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a2240
mov dh, 0x42
mov byte [esp + 0xe6], 0
mov cl, 0x11
mov byte [esp + 0xe0], dh
mov dl, 0x20
mov byte [esp + 0xe6], 0
xor cl, dh
mov al, 0x76
mov ah, 0x7b
mov byte [esp + 0xe2], cl
mov ch, 8
xor al, dh
xor dl, dh
mov byte [esp + 0xe1], al
xor ah, dh
mov byte [esp + 0xe3], dl
xor ch, dh
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe5], ch
lea ecx, [esp + 0xe1]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5466d0
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a1de0
mov dh, 0xf
mov byte [esp + 0xe6], 0
mov cl, 0x6c
mov byte [esp + 0xe0], dh
mov dl, 0x60
mov byte [esp + 0xe6], 0
xor cl, dh
mov al, 0x66
mov ah, 0x4c
mov byte [esp + 0xe2], cl
mov ch, 0x36
xor al, dh
xor dl, dh
mov byte [esp + 0xe1], al
xor ah, dh
mov byte [esp + 0xe3], dl
xor ch, dh
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe5], ch
lea ecx, [esp + 0xe1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x546748
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a1de0
mov ecx, dword [esp + 0x114]
cmp ecx, 0x10
jb 0x5467a2
mov edx, dword [esp + 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x546798
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x546fc7
push ecx
push edx
call fcn.004a60c5
add esp, 8
sub esp, 0x18
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.004a37c0
call fcn.00543c90
add esp, 0x18
cmp eax, 0x22
jl 0x5467fc
sub esp, 0x20
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004a37c0
mov edx, 0x22
lea ecx, [esp + 0x48]
call fcn.00543e90
add esp, 0x1c
mov ecx, eax
call fcn.004a5be0
add esp, 4
mov dword [0x568134], eax
lea ecx, [esp + 0x28]
call fcn.004a1c30
mov edi, dword [0x568a74]
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0xe0], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0xdfff249e
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x54684d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x546830
cmp edx, 0x36a784bf
je 0x546856
inc dword [esp + 0x18]
add esi, 4
jmp 0x546820
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x18]
push dword [esp + 0xfc]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
test eax, eax
jne 0x546f99
mov dh, 0x20
mov byte [esp + 0xe6], 0
mov cl, 0x78
mov byte [esp + 0xe0], dh
mov dl, 0x50
mov byte [esp + 0xe6], 0
xor cl, dh
mov dword [esp + 0x150], 0
mov al, 0x46
mov byte [esp + 0xe2], cl
mov ah, 0x45
mov dword [esp + 0x154], 0
mov ch, 0x4e
xor al, dh
xor dl, dh
mov byte [esp + 0xe1], al
xor ah, dh
mov byte [esp + 0xe3], dl
xor ch, dh
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe5], ch
xorps xmm0, xmm0
lea ecx, [esp + 0xe1]
movaps xmmword [esp + 0x140], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x546902
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x148]
call fcn.004a2240
mov dh, 0x52
mov byte [esp + 0xe6], 0
mov cl, 0x67
mov byte [esp + 0xe0], dh
mov dl, 6
mov byte [esp + 0xe6], 0
xor cl, dh
mov al, 0x39
mov ah, 0x37
mov byte [esp + 0xe2], cl
mov ch, 0x2b
xor al, dh
xor dl, dh
mov byte [esp + 0xe1], al
xor ah, dh
mov byte [esp + 0xe3], dl
xor ch, dh
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe5], ch
lea ecx, [esp + 0xe1]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x546980
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x148]
call fcn.004a1de0
mov ecx, dword [esp + 0x154]
cmp ecx, 0x10
jb 0x5469da
mov edx, dword [esp + 0x140]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5469d0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x546fc7
push ecx
push edx
call fcn.004a60c5
add esp, 8
mov eax, dword [0x568260]
xorps xmm0, xmm0
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
lea ecx, [eax - 1]
cmp eax, ecx
cmovb ecx, eax
cmp dword [0x568264], 8
mov eax, 0x568250
cmovae eax, dword [0x568250]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.004a43e0
mov byte [esp + 0xe0], 0x42
mov cl, 0x2d
xor cl, byte [esp + 0xe0]
mov al, 0x11
xor al, byte [esp + 0xe0]
mov ch, 0x35
mov byte [esp + 0xe1], al
mov dl, 0x24
mov byte [esp + 0xe2], cl
mov dh, 0x23
mov cl, byte [esp + 0xe0]
mov ah, 0x36
mov byte [esp + 0x13], 0x30
xor dl, cl
mov al, byte [esp + 0x13]
xor ch, cl
xor al, cl
mov byte [esp + 0x1e], 0x27
mov byte [esp + 0xe7], al
xor dh, cl
mov al, byte [esp + 0x1e]
xor ah, cl
xor al, cl
mov byte [esp + 0x1f], 0x1e
mov byte [esp + 0xe8], al
xorps xmm0, xmm0
mov al, byte [esp + 0x1f]
xor al, cl
mov byte [esp + 0xe5], ch
lea ecx, [esp + 0xe1]
mov byte [esp + 0xea], 0
mov byte [esp + 0xe3], dl
mov byte [esp + 0xe6], dh
lea edx, [ecx + 1]
mov byte [esp + 0xe4], ah
mov byte [esp + 0xe9], al
mov byte [esp + 0xea], 0
movaps xmmword [esp + 0x100], xmm0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x546af0
sub ecx, edx
lea eax, [esp + 0xe1]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a2240
cmp dword [esp + 0x114], 0x10
lea ecx, [esp + 0x100]
mov eax, dword [esp + 0x110]
cmovae ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x114], 0x10
lea ecx, [esp + 0x100]
cmovae ecx, dword [esp + 0x100]
push ecx
push eax
push ecx
lea ecx, [esp + 0xbc]
call fcn.004a3ff0
mov ecx, dword [esp + 0x114]
cmp ecx, 0x10
jb 0x546b92
mov edx, dword [esp + 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x546b88
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x546b88
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004a60c5
add esp, 8
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0xe8]
lea ecx, [esp + 0xa4]
call fcn.004a44f0
mov cl, 0x70
mov byte [esp + 0x16], 0
mov al, 0x2c
mov byte [esp + 0x14], cl
xor al, cl
mov byte [esp + 0x16], 0
xorps xmm0, xmm0
mov byte [esp + 0x15], al
lea ecx, [esp + 0x15]
movaps xmmword [esp + 0x100], xmm0
mov dword [esp + 0x110], 0
lea edx, [ecx + 1]
mov dword [esp + 0x114], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x546bf2
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a2240
cmp dword [esp + 0x114], 0x10
lea ecx, [esp + 0x100]
mov eax, dword [esp + 0x110]
cmovae ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x114], 0x10
lea ecx, [esp + 0x100]
cmovae ecx, dword [esp + 0x100]
push ecx
push eax
push ecx
lea ecx, [esp + 0x74]
call fcn.004a3ff0
mov ecx, dword [esp + 0x114]
cmp ecx, 0x10
jb 0x546c8e
mov edx, dword [esp + 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x546c84
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x546c84
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004a60c5
add esp, 8
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0xe8]
lea ecx, [esp + 0x8c]
call fcn.004a44f0
mov edi, dword [0x568260]
mov cl, 0x17
mov al, 0x25
mov byte [esp + 0x14], cl
xor al, cl
mov byte [esp + 0x16], 0
xorps xmm0, xmm0
mov byte [esp + 0x15], al
lea ecx, [esp + 0x15]
mov byte [esp + 0x16], 0
movaps xmmword [esp + 0x100], xmm0
lea edx, [ecx + 1]
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x546cf4
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.004a2240
cmp dword [esp + 0x114], 0x10
lea ecx, [esp + 0x100]
mov eax, dword [esp + 0x110]
cmovae ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x114], 0x10
lea ecx, [esp + 0x100]
cmovae ecx, dword [esp + 0x100]
push ecx
push eax
push ecx
lea ecx, [esp + 0x34]
call fcn.004a3ff0
mov ecx, dword [esp + 0x114]
cmp ecx, 0x10
jb 0x546d90
mov edx, dword [esp + 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x546d86
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x546d86
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004a60c5
add esp, 8
lea ecx, [edi - 1]
mov dword [esp + 0x110], 0
cmp dword [0x568260], ecx
mov eax, 0x568250
xorps xmm0, xmm0
mov dword [esp + 0x114], 0xf
cmovb ecx, dword [0x568260]
cmp dword [0x568264], 8
push ecx
cmovae eax, dword [0x568250]
lea ecx, [esp + 0x194]
push eax
mov byte [esp + 0x108], 0
movaps xmmword [esp + 0x198], xmm0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
call fcn.004a43e0
lea eax, [esp + 0x190]
push eax
lea eax, [esp + 0x84]
push eax
push dword [esp + 0xe8]
lea ecx, [esp + 0xd4]
call fcn.004a44f0
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xcc]
push eax
push dword [esp + 0xe8]
lea ecx, [esp + 0x14c]
call fcn.004a44f0
lea ecx, [esp + 0x160]
call fcn.004a1c30
movaps xmm0, xmmword [esp + 0x140]
lea ecx, [esp + 0x140]
movaps xmmword [esp + 0x160], xmm0
xor eax, eax
movq xmm0, qword [esp + 0x150]
movq qword [esp + 0x170], xmm0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 7
mov word [esp + 0x140], ax
call fcn.004a1c30
lea ecx, [esp + 0xc8]
call fcn.004a1c30
lea ecx, [esp + 0x80]
call fcn.004a1c30
lea ecx, [esp + 0x98]
call fcn.004a1c30
lea ecx, [esp + 0xb0]
call fcn.004a1c30
lea ecx, [esp + 0x40]
call fcn.004a1c30
lea ecx, [esp + 0x68]
call fcn.004a1c30
lea ecx, [esp + 0x190]
call fcn.004a1c30
lea ecx, [esp + 0x28]
call fcn.004a1c30
mov edx, dword [0x568a74]
lea eax, [esp + 0x160]
cmp dword [esp + 0x174], 8
cmovae eax, dword [esp + 0x160]
xor edi, edi
mov dword [esp + 0xe0], eax
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [esp + 0xf8], eax
mov esi, dword [eax + 0x20]
add esi, edx
nop
mov ecx, dword [esi]
add ecx, edx
mov edx, 0xb8d6a6a5
mov al, byte [ecx]
inc ecx
test al, al
je 0x546f5d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x546f40
cmp edx, 0x97d4bd53
je 0x546f69
mov edx, dword [0x568a74]
inc edi
add esi, 4
jmp 0x546f30
mov esi, dword [esp + 0xf8]
mov edx, dword [0x568a74]
push dword [esp + 0xe0]
mov eax, dword [esi + 0x24]
push 0x80000001
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov ecx, dword [esp + 0x134]
cmp ecx, 0x10
jb 0x546fd7
mov edx, dword [esp + 0x120]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x546fcd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x546fcd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004a60c5
add esp, 8
lea ecx, [esp + 0x160]
call fcn.004a1c30
mov ecx, dword [esp + 0x3bc]
pop edi
pop esi
xor ecx, esp
call fcn.004a6087
mov esp, ebp
pop ebp
ret
call fcn.004a18f0
int3