Function at 0x57460e
Capabilities:
Authenticate hmac
Encode data using base64
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 3
add esp, 0xfffff004
push eax
dec eax
jne 0x574617
mov eax, dword [ebp - 4]
add esp, 0xfffffff0
push ebx
push esi
push edi
mov eax, dword [ebp + 0xc]
cmp eax, 0x201
jg 0x5746c8
je 0x574796
cmp eax, 0xa4
jg 0x574684
je 0x57477b
cmp eax, 0x20
jg 0x57466d
je 0x576619
sub eax, 2
je 0x57476e
sub eax, 0xd
je 0x57bdfb
jmp 0x57be2c
sub eax, 0x47
je 0x5747d1
sub eax, 0x5a
je 0x57477b
jmp 0x57be2c
cmp eax, 0x104
jg 0x5746aa
je 0x5747f3
sub eax, 0x100
je 0x574aff
sub eax, 2
je 0x5760b6
jmp 0x57be2c
add eax, 0xfffffeed
sub eax, 3
jb 0x5747ad
sub eax, 0xea
je 0x5747ad
jmp 0x57be2c
cmp eax, 0x468
jge 0x57470d
cmp eax, 0x206
jg 0x5746f6
je 0x574796
sub eax, 0x202
je 0x5747ad
dec eax
sub eax, 2
jb 0x574796
jmp 0x57be2c
sub eax, 0x465
je 0x576636
dec eax
je 0x5747ad
jmp 0x57be2c
add eax, 0xfffffb98
cmp eax, 0x12
ja 0x57be2c
jmp dword [eax*4 + 0x41e718]
xor edx, edx
mov dword [0x4cd6a8], edx
jmp 0x57be2c
mov ecx, dword [ebp + 8]
push ecx
push 0
push 0x471
mov eax, dword [0x4cd6a0]
push eax
call fcn.005731e6
jmp 0x57be2c
mov edx, dword [ebp + 8]
push edx
push 0
push 0x471
mov ecx, dword [0x4cd6a0]
push ecx
call fcn.005731e6
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
push 0x4cd6a8
call fcn.005ae366
add esp, 0x14
xor eax, eax
jmp 0x57be41
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebp + 8]
push edx
push 0x4cd6a8
call fcn.005ae366
add esp, 0x14
jmp 0x57be41
test byte [0x4cd8ff], 1
je 0x574803
xor eax, eax
jmp 0x57be41
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x18]
push edx
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0xc]
push edx
call fcn.005ae2fa
add esp, 0x10
cmp dword [ebp + 0x10], 0x76
jne 0x5748c4
cmp dword [0x4de6d8], 0
jne 0x57485a
cmp dword [0x4de6e8], 0
je 0x57485a
mov ecx, dword [0x4de6e8]
mov eax, dword [ecx]
cmp eax, dword [0x4cda2d]
je 0x57485a
lea edx, [ebp - 0x6c]
push edx
push 0
call fcn.005c7616
add esp, 8
mov dword [ebp - 0x3c], eax
jmp 0x57486b
lea ecx, [ebp - 0x6c]
push ecx
push 0xffffffffffffffff
call fcn.005c7616
add esp, 8
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x574892
cmp dword [0x4de6d0], 0
jne 0x574881
mov eax, 0x4b3a19
jmp 0x574886
mov eax, 0x4b3a27
push eax
call fcn.00587936
pop ecx
jmp 0x574af5
push 4
push 0
push 0
mov edx, dword [ebp - 0x3c]
push edx
push 0
call fcn.00583622
add esp, 0x14
cmp dword [ebp - 0x6c], 1
jbe 0x574af5
mov ecx, dword [0x4cda2d]
add ecx, dword [ebp - 0x6c]
mov dword [0x4cda31], ecx
jmp 0x574af5
cmp dword [ebp + 0x10], 0x77
jne 0x574986
cmp dword [0x4de6d0], 0
jle 0x57491c
cmp dword [0x4de6e8], 0
je 0x57491c
mov eax, dword [0x4de6d0]
dec eax
cmp eax, dword [0x4de6d8]
jne 0x57491c
mov edx, dword [0x4de6d0]
shl edx, 4
mov ecx, dword [0x4de6e8]
mov eax, dword [ecx + edx - 0x10]
cmp eax, dword [0x4cda2d]
je 0x57491c
lea edx, [ebp - 0x6c]
push edx
push 0
call fcn.005c7616
add esp, 8
mov dword [ebp - 0x3c], eax
jmp 0x57492d
lea ecx, [ebp - 0x6c]
push ecx
push 1
call fcn.005c7616
add esp, 8
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x574954
cmp dword [0x4de6d0], 0
jne 0x574943
mov eax, 0x4b3a19
jmp 0x574948
mov eax, 0x4b3a37
push eax
call fcn.00587936
pop ecx
jmp 0x574af5
push 4
push 0
push 0
mov edx, dword [ebp - 0x3c]
push edx
push 0
call fcn.00583622
add esp, 0x14
cmp dword [ebp - 0x6c], 1
jbe 0x574af5
mov ecx, dword [0x4cda2d]
add ecx, dword [ebp - 0x6c]
mov dword [0x4cda31], ecx
jmp 0x574af5
cmp dword [ebp + 0x10], 8
jne 0x574aa8
cmp dword [0x4cda4d], 0
je 0x574af5
cmp dword [0x4cda21], 0
jbe 0x574af5
mov eax, dword [0x4cda2d]
cmp eax, dword [0x4cda31]
jae 0x574af5
mov edx, dword [0x4cda2d]
cmp edx, dword [0x4cda1d]
jb 0x574af5
mov ecx, dword [0x4cda1d]
add ecx, dword [0x4cda21]
cmp ecx, dword [0x4cda31]
jb 0x574af5
mov dword [ebp - 0x2c], 1
mov eax, dword [0x4cda31]
sub eax, dword [0x4cda2d]
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x54]
push edx
push 0
call fcn.006050fa
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x574a5f
push 3
mov eax, dword [0x4cda2d]
mov ecx, dword [ebp - 0x54]
push ecx
push eax
mov edx, dword [ebp - 0x7c]
push edx
call fcn.005b7316
add esp, 0x10
cmp eax, dword [ebp - 0x54]
jne 0x574a56
mov eax, dword [0x4cda4d]
mov ecx, dword [ebp - 0x54]
add eax, dword [0x4cda2d]
push ecx
sub eax, dword [0x4cda1d]
push eax
mov edx, dword [ebp - 0x7c]
push edx
call fcn.005f97de
add esp, 0xc
test eax, eax
jne 0x574a56
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x7c]
push eax
call fcn.00605100
cmp dword [ebp - 0x2c], 0
je 0x574a95
mov edx, dword [0x4cda31]
mov eax, dword [0x4cda4d]
sub edx, dword [0x4cda2d]
add eax, dword [0x4cda2d]
push 5
push edx
sub eax, dword [0x4cda1d]
mov ecx, dword [0x4cda2d]
push ecx
push eax
call fcn.005b7732
add esp, 0x10
push 0
push 0
push 0x474
call fcn.005b047e
add esp, 0xc
jmp 0x574af5
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebp + 8]
push edx
push 0x4cd6a8
call fcn.005ae366
add esp, 0x14
test eax, eax
je 0x574ad3
mov eax, 1
jmp 0x57be41
push 0x4cd6a8
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x18]
push ecx
push 1
mov eax, dword [ebp - 0x1c]
push eax
push 0x1f
call fcn.005ecea2
add esp, 0x18
jmp 0x57be41
mov eax, 1
jmp 0x57be41
test byte [0x4cd8ff], 1
je 0x574b22
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.005a4622
jmp 0x57be41
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x10]
push eax
push 3
push 0x4cd6a8
call fcn.0059d5a2
add esp, 0x10
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ebp - 0x18]
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0xc]
push edx
call fcn.005ae2fa
add esp, 0x10
cmp dword [ebp + 0x10], 0x1b
jne 0x574b7c
cmp dword [ebp - 0x1c], 0
jne 0x574b7c
push 0x4000
push 0
push 0
push 0
push 0
call fcn.00583622
add esp, 0x14
mov eax, 1
jmp 0x57be41
cmp dword [ebp + 0x10], 9
jne 0x574bb3
cmp dword [ebp - 0x18], 0
je 0x574b90
mov edx, dword [0x4ce20f]
jmp 0x574b96
mov edx, dword [0x4cedbc]
push edx
push 0
push 0x471
mov eax, dword [0x4cd6a0]
push eax
call fcn.005731e6
mov eax, 1
jmp 0x57be41
cmp dword [0x4cda21], 0
jne 0x574bc3
xor eax, eax
jmp 0x57be41
mov edx, dword [0x4cda25]
mov dword [ebp - 0x3c], edx
mov ecx, dword [0x4cda2d]
mov dword [ebp - 0x44], ecx
mov eax, dword [0x4cda31]
mov dword [ebp - 0x48], eax
xor edx, edx
mov dword [ebp - 0x28], edx
lea ecx, [ebp - 0x2874]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00605436
cmp dword [0x4cd8d5], 1
jne 0x574c11
mov edx, dword [0x4cd7e8]
mov ecx, dword [edx*4 + 0x4d4920]
add ecx, 4
mov dword [ebp - 0x2870], ecx
mov edx, dword [0x4cd8e1]
mov eax, dword [ebp - 0x2868]
sub eax, dword [ebp - 0x2870]
mov ecx, dword [edx*4 + 0x4d4920]
cdq
idiv ecx
dec eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jg 0x574c3e
mov dword [ebp - 4], 1
push 2
mov eax, dword [ebp + 0x10]
push eax
call fcn.0060551a
cmp eax, 0x2a
jne 0x574e0a
cmp dword [ebp - 0x1c], 0
je 0x574e0a
mov eax, dword [0x4cd8f9]
push eax
call fcn.005ce982
pop ecx
mov dword [ebp - 0x80], eax
cmp dword [0x4d5a5c], 4
je 0x575fc9
cmp dword [ebp - 0x80], 0
je 0x575fc9
mov edx, dword [ebp - 0x80]
cmp dword [edx + 0x482], 0
je 0x575fc9
mov ecx, dword [ebp - 0x80]
mov eax, dword [ecx + 0x318]
cmp eax, dword [0x4cda2d]
je 0x575fc9
mov edx, dword [0x4cda2d]
cmp edx, dword [0x4cda1d]
jb 0x575fc9
mov ecx, dword [0x4cda1d]
add ecx, dword [0x4cda21]
cmp ecx, dword [0x4cda2d]
jbe 0x575fc9
lea eax, [ebp - 0x60]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.005b3f0a
add esp, 8
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
je 0x574d4d
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
and eax, 0x1f
cmp eax, 0x1d
je 0x574d4d
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
and ecx, 0x1f
cmp ecx, 0x1e
je 0x574d4d
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
and edx, 0x1f
cmp edx, 0x1f
je 0x574d4d
mov ecx, dword [ebp - 0x78]
cmp byte [ecx], 0
je 0x574d4d
push 0x2024
push 0x4b3b02
push 0x4b3a46
mov eax, dword [0x4d3b7c]
push eax
call fcn.00605520
mov edi, eax
cmp edi, 6
je 0x574d4d
mov eax, 1
jmp 0x57be41
mov edx, dword [0x4cda1d]
push edx
call fcn.005b3e22
pop ecx
mov esi, eax
test esi, esi
je 0x574d78
mov eax, dword [0x4cda2d]
cmp eax, dword [esi + 0xc]
jb 0x574d78
mov edx, dword [esi + 0xc]
add edx, dword [esi + 0x10]
cmp edx, dword [0x4cda2d]
ja 0x574da4
push 0x2024
push 0x4b3b02
push 0x4b3b20
mov ecx, dword [0x4d3b7c]
push ecx
call fcn.00605520
mov edi, eax
cmp edi, 6
je 0x574da4
mov eax, 1
jmp 0x57be41
mov edx, dword [ebp - 0x80]
cmp dword [edx + 0x2f0], 0
jne 0x574dd8
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x80]
lea esi, [ecx + 0x2ec]
lea edi, [eax + 0x486]
mov ecx, 0x65
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebp - 0x80]
mov dword [eax + 0x2f0], 1
mov edx, dword [ebp - 0x80]
mov ecx, dword [0x4cda2d]
mov dword [edx + 0x318], ecx
mov eax, dword [ebp - 0x80]
mov dword [eax + 0x2ec], 1
push 0
push 0
push 0x476
call fcn.005b047e
add esp, 0xc
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x26
jne 0x574e97
cmp dword [ebp - 0x1c], 0
jne 0x574e97
push 1
mov edx, dword [0x4cda35]
push 1
push edx
mov ecx, dword [0x4cda21]
mov eax, dword [0x4cda1d]
push ecx
push eax
push 0
call fcn.005d494a
add esp, 0x18
mov edi, eax
mov eax, dword [0x4cda21]
mov edx, dword [0x4cda1d]
push 1
push 1
push edi
push eax
push edx
push 0
call fcn.005d4b16
add esp, 0x18
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x18], 0
jne 0x574e74
mov dword [0x4cda2d], edi
mov ecx, dword [ebp - 0x4c]
mov dword [0x4cda31], ecx
jmp 0x574e8c
cmp edi, dword [0x4cda2d]
jae 0x574e84
mov dword [0x4cda2d], edi
jmp 0x574e8c
mov eax, dword [ebp - 0x4c]
mov dword [0x4cda31], eax
mov dword [0x4cda35], edi
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x28
jne 0x574f68
cmp dword [ebp - 0x1c], 0
jne 0x574f68
push 1
mov edx, dword [0x4cda35]
push 1
push edx
mov ecx, dword [0x4cda21]
mov eax, dword [0x4cda1d]
push ecx
push eax
push 0
call fcn.005d4b16
mov edi, eax
mov eax, dword [0x4cda1d]
add eax, dword [0x4cda21]
add esp, 0x18
cmp edi, eax
jb 0x574efd
push 1
push 1
push edi
mov edx, dword [0x4cda21]
push edx
mov ecx, dword [0x4cda1d]
push ecx
push 0
call fcn.005d494a
add esp, 0x18
mov edi, eax
push 1
push 1
push edi
mov eax, dword [0x4cda21]
push eax
mov edx, dword [0x4cda1d]
push edx
push 0
call fcn.005d4b16
add esp, 0x18
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x18], 0
jne 0x574f33
mov dword [0x4cda2d], edi
mov ecx, dword [ebp - 0x4c]
mov dword [0x4cda31], ecx
jmp 0x574f5d
mov eax, dword [ebp - 0x4c]
cmp eax, dword [0x4cda31]
jbe 0x574f49
mov edx, dword [ebp - 0x4c]
mov dword [0x4cda31], edx
jmp 0x574f5d
mov ecx, dword [0x4cda2d]
cmp ecx, dword [0x4cda35]
jne 0x574f5d
mov dword [0x4cda2d], edi
mov dword [0x4cda35], edi
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x21
jne 0x575024
cmp dword [ebp - 0x1c], 0
jne 0x575024
push 1
mov edx, dword [0x4cda25]
mov eax, dword [ebp - 4]
mov ecx, dword [0x4cda21]
push eax
push edx
push ecx
mov eax, dword [0x4cda1d]
push eax
push 0
call fcn.005d494a
add esp, 0x18
mov dword [0x4cda25], eax
mov ecx, dword [0x4cda35]
mov eax, dword [0x4cda21]
push 1
mov edx, dword [ebp - 4]
push edx
push ecx
push eax
mov edx, dword [0x4cda1d]
push edx
push 0
call fcn.005d494a
add esp, 0x18
mov edi, eax
mov eax, dword [0x4cda21]
mov edx, dword [0x4cda1d]
push 1
push 1
push edi
push eax
push edx
push 0
call fcn.005d4b16
add esp, 0x18
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x18], 0
jne 0x575001
mov dword [0x4cda2d], edi
mov ecx, dword [ebp - 0x4c]
mov dword [0x4cda31], ecx
jmp 0x575019
cmp edi, dword [0x4cda2d]
jae 0x575011
mov dword [0x4cda2d], edi
jmp 0x575019
mov eax, dword [ebp - 0x4c]
mov dword [0x4cda31], eax
mov dword [0x4cda35], edi
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x22
jne 0x57515b
cmp dword [ebp - 0x1c], 0
jne 0x57515b
push 1
mov ecx, dword [0x4cda25]
mov edx, dword [ebp - 4]
mov eax, dword [0x4cda21]
push edx
push ecx
push eax
mov edx, dword [0x4cda1d]
push edx
push 0
call fcn.005d4b16
add esp, 0x18
mov dword [0x4cda25], eax
mov ecx, dword [0x4cda1d]
add ecx, dword [0x4cda21]
cmp ecx, dword [0x4cda25]
ja 0x57509c
push 1
mov eax, dword [0x4cda25]
push 1
push eax
mov edx, dword [0x4cda21]
mov ecx, dword [0x4cda1d]
push edx
push ecx
push 0
call fcn.005d494a
add esp, 0x18
mov dword [0x4cda25], eax
push 1
mov edx, dword [0x4cda35]
mov eax, dword [ebp - 4]
mov ecx, dword [0x4cda21]
push eax
push edx
push ecx
mov eax, dword [0x4cda1d]
push eax
push 0
call fcn.005d4b16
mov edi, eax
mov eax, dword [0x4cda1d]
add eax, dword [0x4cda21]
add esp, 0x18
cmp edi, eax
jb 0x5750f0
push 1
push 1
push edi
mov edx, dword [0x4cda21]
push edx
mov ecx, dword [0x4cda1d]
push ecx
push 0
call fcn.005d494a
add esp, 0x18
mov edi, eax
push 1
push 1
push edi
mov eax, dword [0x4cda21]
push eax
mov edx, dword [0x4cda1d]
push edx
push 0
call fcn.005d4b16
add esp, 0x18
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x18], 0
jne 0x575126
mov dword [0x4cda2d], edi
mov ecx, dword [ebp - 0x4c]
mov dword [0x4cda31], ecx
jmp 0x575150
mov eax, dword [ebp - 0x4c]
cmp eax, dword [0x4cda31]
jbe 0x57513c
mov edx, dword [ebp - 0x4c]
mov dword [0x4cda31], edx
jmp 0x575150
mov ecx, dword [0x4cda2d]
cmp ecx, dword [0x4cda35]
jne 0x575150
mov dword [0x4cda2d], edi
mov dword [0x4cda35], edi
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x24
je 0x57516d
cmp dword [ebp + 0x10], 0x21
jne 0x5751c5
cmp dword [ebp - 0x1c], 0
je 0x5751c5
mov eax, dword [0x4cda1d]
cmp dword [ebp - 0x18], 0
mov dword [0x4cda2d], eax
mov dword [0x4cda25], eax
mov dword [0x4cda35], eax
je 0x575199
mov edx, dword [0x4cda31]
cmp edx, dword [0x4cda1d]
ja 0x575fc9
push 1
mov ecx, dword [0x4cda2d]
push 1
push ecx
mov eax, dword [0x4cda21]
mov edx, dword [0x4cda1d]
push eax
push edx
push 0
call fcn.005d4b16
add esp, 0x18
mov dword [0x4cda31], eax
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x23
je 0x5751db
cmp dword [ebp + 0x10], 0x22
jne 0x575256
cmp dword [ebp - 0x1c], 0
je 0x575256
mov ecx, dword [0x4cda1d]
mov edx, dword [0x4cda21]
add ecx, dword [0x4cda21]
mov dword [ebp - 0x4c], ecx
push 1
push 1
mov ecx, dword [0x4cda1d]
mov eax, dword [ebp - 0x4c]
push eax
push edx
push ecx
push 0
call fcn.005d494a
add esp, 0x18
mov edi, eax
cmp dword [ebp - 0x18], 0
jne 0x575222
mov dword [0x4cda2d], edi
mov eax, dword [ebp - 0x4c]
mov dword [0x4cda31], eax
jmp 0x57524b
mov edx, dword [ebp - 0x4c]
cmp edx, dword [0x4cda31]
jbe 0x575238
mov ecx, dword [ebp - 0x4c]
mov dword [0x4cda31], ecx
jmp 0x57524b
mov eax, dword [0x4cda2d]
cmp eax, dword [0x4cda35]
jne 0x57524b
mov dword [0x4cda2d], edi
mov dword [0x4cda35], edi
jmp 0x575fc9
cmp dword [ebp + 0x10], 0xd
jne 0x5753d3
cmp dword [ebp - 0x1c], 0
jne 0x5753d3
call fcn.00571a8e
mov edx, dword [0x4cda1d]
add edx, dword [0x4cda21]
sub edx, dword [ebp - 0x44]
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], 0x10
jbe 0x57528e
mov dword [ebp - 0x54], 0x10
push 3
mov ecx, dword [ebp - 0x54]
push ecx
mov eax, dword [ebp - 0x44]
push eax
lea edx, [ebp - 0x11fc]
push edx
call fcn.005b7316
add esp, 0x10
cmp eax, dword [ebp - 0x54]
jne 0x5753c9
lea ecx, [ebp - 0x60]
push ecx
mov eax, dword [ebp - 0x44]
push eax
call fcn.005b3f0a
add esp, 8
mov dword [ebp - 0x78], eax
mov edx, dword [ebp - 0x60]
cmp edx, dword [ebp - 0x54]
jae 0x5752d0
xor ecx, ecx
mov dword [ebp - 0x78], ecx
cmp dword [0x4cda51], 0
jle 0x575308
mov eax, dword [0x4cda51]
lea edx, [ebp - 0x1c5c]
push eax
push 6
push edx
mov ecx, dword [ebp - 0x78]
push ecx
lea ecx, [ebp - 0x11fc]
mov eax, dword [ebp - 0x44]
push eax
mov edx, dword [ebp - 0x54]
push edx
push ecx
call fcn.0056bf52
add esp, 0x1c
mov dword [ebp - 0x5c], eax
jmp 0x575335
mov eax, dword [0x4cd8f9]
lea edx, [ebp - 0x1c5c]
push eax
push 5
push edx
mov ecx, dword [ebp - 0x78]
push ecx
lea ecx, [ebp - 0x11fc]
mov eax, dword [ebp - 0x44]
push eax
mov edx, dword [ebp - 0x54]
push edx
push ecx
call fcn.0056bf52
add esp, 0x1c
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jbe 0x57536e
cmp dword [ebp - 0x1624], 0
jne 0x57536e
mov eax, dword [ebp - 0x162c]
push eax
call fcn.005b7a52
pop ecx
test eax, eax
je 0x57536e
push 5
push 0
push 0
mov edx, dword [ebp - 0x162c]
push edx
push 0
call fcn.00583622
add esp, 0x14
jmp 0x5753c9
lea ecx, [ebp - 0x10ec]
push ecx
push 0x3a
mov eax, dword [ebp - 0x44]
push eax
call fcn.005ba9ca
add esp, 0xc
test eax, eax
je 0x5753c9
push 0xa
push 0x4b3bd8
lea edx, [ebp - 0x10ec]
push edx
call fcn.005f97de
add esp, 0xc
test eax, eax
jne 0x5753c9
mov ecx, dword [ebp - 0x163c]
push ecx
call fcn.005b7a52
pop ecx
test eax, eax
je 0x5753c9
push 5
push 0
push 0
mov eax, dword [ebp - 0x163c]
push eax
push 0
call fcn.00583622
add esp, 0x14
mov eax, 1
jmp 0x57be41
cmp dword [ebp + 0x10], 8
jne 0x57558a
cmp dword [ebp - 0x1c], 0
jne 0x57558a
cmp dword [0x4cda21], 0
jbe 0x57558a
mov edx, dword [0x4cda2d]
cmp edx, dword [0x4cda31]
jae 0x57558a
mov ecx, dword [0x4cda2d]
cmp ecx, dword [0x4cda1d]
jb 0x57558a
mov eax, dword [0x4cda1d]
add eax, dword [0x4cda21]
cmp eax, dword [0x4cda31]
jb 0x57558a
push 0x3a
mov edx, dword [0x4cda31]
push edx
mov ecx, dword [0x4cda2d]
push ecx
call fcn.005bafd2
add esp, 0xc
push 0x39
mov eax, dword [0x4cda31]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.005bafd2
add esp, 0xc
push 0x3e
mov ecx, dword [0x4cda31]
push ecx
mov eax, dword [0x4cda2d]
push eax
call fcn.005bafd2
add esp, 0xc
push 0x3f
mov edx, dword [0x4cda31]
push edx
mov ecx, dword [0x4cda2d]
push ecx
call fcn.005bafd2
add esp, 0xc
mov eax, dword [0x4cda31]
push eax
mov edx, dword [0x4cda2d]
push edx
push 0x4dc8cd
call fcn.005ab312
add esp, 0xc
mov ecx, dword [0x4cda31]
push ecx
mov eax, dword [0x4cda2d]
push eax
push 0x4dca05
call fcn.005ab312
add esp, 0xc
mov edx, dword [0x4cda31]
push edx
mov ecx, dword [0x4cda2d]
push ecx
call fcn.005f1136
add esp, 8
lea eax, [ebp - 0x60]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.005b3f0a
add esp, 8
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
je 0x575520
xor ecx, ecx
mov dword [ebp - 0x58], ecx
jmp 0x575507
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x58]
mov byte [eax + edx], 0
inc dword [ebp - 0x58]
mov ecx, dword [0x4cda31]
sub ecx, dword [0x4cda2d]
cmp ecx, dword [ebp - 0x58]
jbe 0x575520
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x60]
jb 0x5754fa
mov edx, dword [0x4cda1d]
push edx
call fcn.005b3e22
pop ecx
mov esi, eax
test esi, esi
je 0x575553
cmp dword [esi + 0x174], 0
je 0x575553
push 4
mov eax, dword [0x4cda31]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.00570c3e
add esp, 0xc
test esi, esi
je 0x575574
cmp dword [esi + 0x17c], 0
je 0x575574
mov ecx, dword [esi + 0x17c]
push ecx
call fcn.00605100
xor eax, eax
mov dword [esi + 0x17c], eax
push 0
push 0
push 0x474
call fcn.005b047e
add esp, 0xc
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x6d
je 0x575599
cmp dword [ebp + 0x10], 0xbd
jne 0x575602
cmp dword [ebp - 0x1c], 0
je 0x575602
mov edx, dword [0x4cda2d]
cmp edx, dword [0x4cda31]
jae 0x575602
mov ecx, dword [0x4cda2d]
cmp ecx, dword [0x4cda1d]
jb 0x575602
mov eax, dword [0x4cda1d]
add eax, dword [0x4cda21]
cmp eax, dword [0x4cda31]
jb 0x575602
mov edx, dword [0x4cda2d]
push edx
call fcn.005744b6
pop ecx
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x5755f8
push 5
push 0
push 0
mov ecx, dword [ebp - 0x3c]
push ecx
push 0
call fcn.00583622
add esp, 0x14
mov eax, 1
jmp 0x57be41
cmp dword [ebp + 0x10], 0x6b
je 0x575611
cmp dword [ebp + 0x10], 0xbb
jne 0x57567a
cmp dword [ebp - 0x1c], 0
je 0x57567a
mov edx, dword [0x4cda2d]
cmp edx, dword [0x4cda31]
jae 0x57567a
mov ecx, dword [0x4cda2d]
cmp ecx, dword [0x4cda1d]
jb 0x57567a
mov eax, dword [0x4cda1d]
add eax, dword [0x4cda21]
cmp eax, dword [0x4cda31]
jb 0x57567a
mov edx, dword [0x4cda2d]
push edx
call fcn.0057451a
pop ecx
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x575670
push 5
push 0
push 0
mov ecx, dword [ebp - 0x3c]
push ecx
push 0
call fcn.00583622
add esp, 0x14
mov eax, 1
jmp 0x57be41
cmp dword [ebp + 0x10], 0x70
jne 0x5758d5
cmp dword [ebp - 0x1c], 0
je 0x5758d5
cmp byte [0x4dcb44], 0
je 0x5758d5
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp - 0x48]
jae 0x5758d5
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [0x4cda1d]
jb 0x5758d5
mov eax, dword [0x4cda1d]
add eax, dword [0x4cda21]
cmp eax, dword [ebp - 0x44]
jbe 0x5758d5
mov edx, dword [0x4cda1d]
add edx, dword [0x4cda21]
sub edx, dword [ebp - 0x44]
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], 0x10
jbe 0x5756e9
mov dword [ebp - 0x54], 0x10
push 3
mov ecx, dword [ebp - 0x54]
push ecx
mov eax, dword [ebp - 0x44]
push eax
lea edx, [ebp - 0x11fc]
push edx
call fcn.005b7316
add esp, 0x10
cmp eax, dword [ebp - 0x54]
jne 0x5758cb
lea ecx, [ebp - 0x60]
push ecx
mov eax, dword [ebp - 0x44]
push eax
call fcn.005b3f0a
add esp, 8
mov dword [ebp - 0x78], eax
mov edx, dword [ebp - 0x60]
cmp edx, dword [ebp - 0x54]
jae 0x575731
cmp dword [ebp - 0x60], 0x10
jae 0x575731
xor ecx, ecx
mov dword [ebp - 0x78], ecx
cmp dword [0x4cda51], 0
jle 0x575766
mov eax, dword [0x4cda51]
lea edx, [ebp - 0x1c5c]
push eax
push 6
push edx
mov ecx, dword [ebp - 0x78]
push ecx
lea ecx, [ebp - 0x11fc]
mov eax, dword [ebp - 0x44]
push eax
mov edx, dword [ebp - 0x54]
push edx
push ecx
call fcn.0056bf52
add esp, 0x1c
jmp 0x575790
mov eax, dword [0x4cd8f9]
lea edx, [ebp - 0x1c5c]
push eax
push 5
push edx
mov ecx, dword [ebp - 0x78]
push ecx
lea ecx, [ebp - 0x11fc]
mov eax, dword [ebp - 0x44]
push eax
mov edx, dword [ebp - 0x54]
push edx
push ecx
call fcn.0056bf52
add esp, 0x1c
cmp dword [ebp - 0x1624], 0
jne 0x5758cb
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x5757ca
cmp dword [ebp - 0x1648], 0
je 0x5757ca
lea edx, [ebp - 0x12fc]
push edx
mov ecx, dword [ebp - 0x1648]
push ecx
call fcn.005610b2
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x5757f2
cmp dword [ebp - 0x162c], 0
je 0x5757f2
lea eax, [ebp - 0x12fc]
push eax
mov edx, dword [ebp - 0x162c]
push edx
call fcn.005610b2
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x57581a
cmp dword [ebp - 0x1640], 0
je 0x57581a
lea ecx, [ebp - 0x12fc]
push ecx
mov eax, dword [ebp - 0x1640]
push eax
call fcn.005610b2
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x575842
cmp dword [ebp - 0x1604], 0
je 0x575842
lea edx, [ebp - 0x12fc]
push edx
mov ecx, dword [ebp - 0x1604]
push ecx
call fcn.005610b2
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x57585e
lea eax, [ebp - 0x12fc]
push eax
mov edx, dword [ebp - 0x44]
push edx
call fcn.005610b2
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jle 0x5758cb
cmp dword [ebp - 0xc], 2
jle 0x5758ae
mov ecx, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp + ecx - 0x12fe]
push eax
call fcn.005fdbf2
pop ecx
test eax, eax
je 0x5758ae
mov edx, dword [ebp - 0xc]
xor ecx, ecx
mov cl, byte [ebp + edx - 0x12fd]
cmp ecx, 0x41
je 0x5758a3
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dl, byte [ebp + eax - 0x12fd]
cmp edx, 0x57
jne 0x5758ae
mov ecx, dword [ebp - 0xc]
mov byte [ebp + ecx - 0x12fd], 0
lea eax, [ebp - 0x12fc]
push eax
push 0x105
push 0x4dcb44
mov edx, dword [0x4d3b7c]
push edx
call fcn.00605604
mov eax, 1
jmp 0x57be41
cmp dword [ebp + 0x10], 0x71
jne 0x575927
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp - 0x48]
jae 0x575927
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [0x4cda1d]
jb 0x575927
mov eax, dword [0x4cda1d]
add eax, dword [0x4cda21]
cmp eax, dword [ebp - 0x44]
jbe 0x575927
mov edx, dword [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0x10]
push ecx
mov eax, dword [0x4cd8e1]
push eax
push 0
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp - 0x44]
push eax
call fcn.0056f97e
add esp, 0x1c
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x73
jne 0x57594e
cmp dword [ebp - 0x18], 0
jne 0x57594e
push 1
mov edx, dword [ebp - 0x18]
push edx
push 1
mov ecx, dword [ebp - 0x44]
push ecx
push 0
call fcn.0058aa1e
add esp, 0x14
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x73
jne 0x5759a8
cmp dword [ebp - 0x18], 0
je 0x5759a8
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x48]
jae 0x5759a8
mov edx, dword [ebp - 0x44]
cmp edx, dword [0x4cda1d]
jb 0x5759a8
mov ecx, dword [0x4cda1d]
add ecx, dword [0x4cda21]
cmp ecx, dword [ebp - 0x44]
jbe 0x5759a8
mov eax, dword [ebp - 0x14]
push eax
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [0x4cd8e1]
push ecx
push 0
mov eax, dword [ebp - 0x18]
push eax
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.0056f97e
add esp, 0x1c
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x74
jne 0x5759ea
cmp dword [ebp - 0x1c], 0
je 0x5759ea
cmp dword [0x4cda21], 0
jbe 0x5759e0
mov eax, dword [0x4cda2d]
cmp eax, dword [0x4cda31]
jae 0x5759e0
push 1
mov edx, dword [0x4cda2d]
push edx
call fcn.005eb55e
add esp, 8
call fcn.00571a8e
mov eax, 1
jmp 0x57be41
cmp dword [ebp + 0x10], 0x41
jne 0x575a49
cmp dword [ebp - 0x1c], 0
je 0x575a49
cmp dword [ebp - 0x18], 0
jne 0x575a49
cmp dword [0x4cda21], 0
jbe 0x575a49
mov edx, dword [0x4cda1d]
push edx
call fcn.005b3e22
pop ecx
mov esi, eax
test esi, esi
je 0x575a3f
mov eax, dword [0x4cda1d]
cmp eax, dword [esi + 0xc]
jb 0x575a3f
mov edx, dword [esi + 0xc]
add edx, dword [esi + 0x10]
cmp edx, dword [0x4cda1d]
jbe 0x575a3f
push esi
call fcn.005d528e
pop ecx
push 0
call fcn.00571766
pop ecx
mov eax, 1
jmp 0x57be41
cmp dword [ebp + 0x10], 0x42
jne 0x575a6f
cmp dword [ebp - 0x1c], 0
je 0x575a6f
cmp dword [0x4cda21], 0
jbe 0x575a6f
push 0
push 1
call fcn.00571b2e
add esp, 8
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x45
jne 0x575c55
cmp dword [ebp - 0x1c], 0
je 0x575c55
mov edx, dword [0x4cda2d]
cmp edx, dword [0x4cda31]
jae 0x575c55
mov ecx, dword [0x4cda2d]
cmp ecx, dword [0x4cda1d]
jb 0x575c55
mov eax, dword [0x4cda1d]
add eax, dword [0x4cda21]
cmp eax, dword [0x4cda31]
jb 0x575c55
mov edx, dword [0x4cda2d]
mov dword [ebp - 0x3c], edx
mov ecx, dword [0x4cda31]
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x54], 0x100
jbe 0x575ae3
mov dword [ebp - 0x54], 0x100
push 1
mov eax, dword [ebp - 0x54]
push eax
mov edx, dword [ebp - 0x3c]
push edx
lea ecx, [ebp - 0x27bc]
push ecx
call fcn.005b7316
add esp, 0x10
cmp eax, dword [ebp - 0x54]
je 0x575b0b
mov eax, 1
jmp 0x57be41
mov edx, dword [ebp - 0x54]
lea ecx, [ebp - 0x26bc]
push edx
push 0xff
push ecx
call fcn.005f95aa
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x27c0], eax
lea ecx, [ebp - 0x10ec]
mov edx, dword [ebp - 0x3c]
push edx
push 0x4b3be3
push ecx
call fcn.005fcc36
add esp, 0xc
xor edi, edi
lea eax, [ebp - 0x60]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.005b3f0a
add esp, 8
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebp - 0x54]
jae 0x575b6f
cmp dword [ebp - 0x60], 0x10
jae 0x575b6f
xor eax, eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
je 0x575b9a
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
and ecx, 0x1f
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0xb
jne 0x575b8f
mov edi, 0x10
jmp 0x575b9a
cmp dword [ebp - 8], 0xc
jne 0x575b9a
mov edi, 0x20
mov eax, dword [ebp - 0x14]
mov ecx, dword [0x4cd8e1]
push eax
lea eax, [ebp - 0x27c0]
mov edx, dword [ebp - 0x10]
push edx
push 0
push ecx
push edi
push eax
lea edx, [ebp - 0x10ec]
push edx
call fcn.005963e2
add esp, 0x1c
test eax, eax
je 0x575bd0
mov eax, 1
jmp 0x57be41
mov edx, dword [ebp - 0x3c]
push edx
call fcn.005b7a52
pop ecx
test eax, eax
je 0x575c08
cmp dword [eax + 0x24], 0
jne 0x575c08
mov ecx, dword [eax]
cmp ecx, dword [0x4cda1d]
jne 0x575c08
mov eax, dword [eax + 4]
cmp eax, dword [0x4cda21]
jne 0x575c08
push 1
push 0x4cd6a8
call fcn.005a2f5e
add esp, 8
push 5
mov edx, dword [ebp - 0x27c0]
push edx
mov ecx, dword [ebp - 0x3c]
push ecx
lea eax, [ebp - 0x27bc]
push eax
call fcn.005b7732
add esp, 0x10
mov edx, dword [0x4cda2d]
mov ecx, dword [0x4cda21]
mov eax, dword [0x4cda1d]
push 1
push 1
push edx
push ecx
push eax
push 0
call fcn.005d4b16
add esp, 0x18
mov dword [0x4cda31], eax
mov eax, 1
jmp 0x57be41
cmp dword [ebp + 0x10], 0x46
jne 0x575c72
cmp dword [ebp - 0x1c], 0
je 0x575c72
push 0
push 7
call fcn.00571b2e
add esp, 8
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x47
jne 0x575cea
cmp dword [ebp - 0x1c], 0
je 0x575cea
cmp dword [0x4cda21], 0
ja 0x575c90
cmp dword [0x4d5a70], 0
je 0x575cea
mov byte [ebp - 0x10ec], 0
mov edx, dword [ebp - 0x14]
mov eax, dword [0x4cd8e1]
push edx
mov edx, dword [0x4cd8f9]
mov ecx, dword [ebp - 0x10]
push ecx
push eax
push edx
push 0x4b
lea ecx, [ebp - 0x10ec]
push 0
push ecx
push 0x4b3bf5
call fcn.005996f2
add esp, 0x20
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x575fc9
push 5
push 0
push 0
mov eax, dword [ebp - 0x3c]
push eax
push 0
call fcn.00583622
add esp, 0x14
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x4a
jne 0x575d39
cmp dword [ebp - 0x1c], 0
je 0x575d39
mov edx, dword [ebp - 0x14]
mov eax, dword [0x4cd8e1]
push edx
mov edx, dword [0x4cda2d]
mov ecx, dword [ebp - 0x10]
push ecx
push eax
push edx
call fcn.0059c32a
add esp, 0x10
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x575fc9
push 5
push 0
push 0
mov ecx, dword [ebp - 0x3c]
push ecx
push 0
call fcn.00583622
add esp, 0x14
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x4b
jne 0x575daf
cmp dword [ebp - 0x1c], 0
je 0x575daf
lea eax, [ebp - 0x60]
push eax
mov edx, dword [ebp - 0x44]
push edx
call fcn.005b3f0a
add esp, 8
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jne 0x575d68
mov eax, 1
jmp 0x57be41
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
and ecx, 0x1f
cmp ecx, 0x1f
jne 0x575d8d
mov eax, dword [ebp - 0x44]
push eax
call fcn.005d3572
pop ecx
push eax
call fcn.005f2a62
pop ecx
jmp 0x575fc9
mov edx, dword [ebp - 0x78]
test byte [edx], 0x60
je 0x575fc9
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.005743e6
pop ecx
push eax
call fcn.005f2a62
pop ecx
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x4c
jne 0x575dcc
cmp dword [ebp - 0x1c], 0
je 0x575dcc
push 0
push 0
call fcn.00571b2e
add esp, 8
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x4e
jne 0x575dfa
cmp dword [ebp - 0x1c], 0
je 0x575dfa
mov eax, dword [0x4cda1d]
push eax
call fcn.005b3e22
pop ecx
mov esi, eax
test esi, esi
je 0x575fc9
push esi
call fcn.005bcf06
pop ecx
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x4f
jne 0x575e31
cmp dword [ebp - 0x1c], 0
je 0x575e31
cmp dword [0x4cda21], 0
jbe 0x575e31
mov eax, dword [0x4cd8e1]
push eax
mov edx, dword [0x4cda1d]
push edx
call fcn.005c0f4a
add esp, 8
push 0
call fcn.00571766
pop ecx
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x52
jne 0x575f65
cmp dword [ebp - 0x1c], 0
je 0x575f65
mov ecx, dword [0x4cda1d]
cmp ecx, dword [0x4cda2d]
ja 0x575fc9
mov eax, dword [0x4cda1d]
add eax, dword [0x4cda21]
cmp eax, dword [0x4cda2d]
jbe 0x575fc9
mov edx, dword [0x4cda2d]
cmp edx, dword [0x4cda31]
jae 0x575fc9
mov ecx, dword [0x4cda2d]
push ecx
call fcn.005b3e22
pop ecx
mov esi, eax
test esi, esi
je 0x575eaa
cmp dword [0x4de818], 0
jne 0x575eaa
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x50], eax
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x54], edx
jmp 0x575ebb
mov ecx, dword [0x4cda1d]
mov eax, dword [0x4cda21]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x54], eax
push 0x4b3c10
lea edx, [ebp - 0x10ec]
push edx
call fcn.005fcc36
add esp, 8
mov dword [ebp - 0xc], eax
lea ecx, [ebp - 0x10ec]
add ecx, dword [ebp - 0xc]
push ecx
mov eax, dword [ebp - 0x54]
push eax
mov edx, dword [ebp - 0x50]
push edx
call fcn.005b3fea
add esp, 0xc
add dword [ebp - 0xc], eax
push 0x4b3c1f
lea ecx, [ebp - 0x10ec]
add ecx, dword [ebp - 0xc]
push ecx
call fcn.005fcc36
add dword [ebp - 0xc], eax
add esp, 8
mov eax, 0x100
lea edx, [ebp - 0x10ec]
push 0
mov ecx, dword [0x4cda1d]
sub eax, dword [ebp - 0xc]
push eax
mov eax, dword [0x4cda2d]
add edx, dword [ebp - 0xc]
push edx
push 1
push ecx
push eax
call fcn.005d36ba
add esp, 0x18
lea edx, [ebp - 0x10ec]
mov ecx, dword [0x4cda2d]
mov eax, dword [0x4cda2d]
push edx
push 0
push ecx
inc eax
push eax
mov edx, dword [0x4cda2d]
push edx
mov ecx, dword [ebp - 0x54]
push ecx
mov eax, dword [ebp - 0x50]
push eax
call fcn.005c5e0e
add esp, 0x1c
jmp 0x575fc9
cmp dword [ebp + 0x10], 0x53
jne 0x575f7f
cmp dword [ebp - 0x1c], 0
je 0x575f7f
push 0
push 0xb
call fcn.00571b2e
add esp, 8
jmp 0x575fc9
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.005a4622
dec eax
jne 0x575fa1
mov eax, 1
jmp 0x57be41
push 0x4cd6a8
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x18]
push ecx
push 0
mov eax, dword [ebp - 0x1c]
push eax
push 0x1f
call fcn.005ecea2
add esp, 0x18
test eax, eax
jne 0x575fc9
xor eax, eax
jmp 0x57be41
mov edx, dword [0x4cda35]
cmp edx, dword [0x4cda25]
jae 0x575fe5
mov ecx, dword [0x4cda35]
mov dword [0x4cda25], ecx
jmp 0x576040
push 1
mov edx, dword [0x4cda25]
mov eax, dword [ebp - 4]
mov ecx, dword [0x4cda21]
push eax
push edx
push ecx
mov eax, dword [0x4cda1d]
push eax
push 0
call fcn.005d4b16
add esp, 0x18
mov dword [ebp - 0x40], eax
mov edx, dword [0x4cda35]
cmp edx, dword [ebp - 0x40]
jbe 0x576040
push 1
mov eax, dword [0x4cda35]
mov ecx, dword [ebp - 4]
mov edx, dword [0x4cda21]
push ecx
push eax
push edx
mov ecx, dword [0x4cda1d]
push ecx
push 0
call fcn.005d494a
add esp, 0x18
mov dword [0x4cda25], eax
cmp dword [ebp - 0x28], 0
jne 0x576067
mov eax, dword [ebp - 0x3c]
cmp eax, dword [0x4cda25]
jne 0x576067
mov edx, dword [ebp - 0x44]
cmp edx, dword [0x4cda2d]
jne 0x576067
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [0x4cda31]
je 0x57608d
cmp dword [0x4e2764], 0
je 0x576080
push 0xffffffffffffffff
mov eax, dword [0x4cda2d]
push eax
call fcn.005eb55e
add esp, 8
push 0
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.006054d8
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [0x4cda2d]
je 0x5760ac
push 0x101
push 0
push 0
mov eax, dword [0x4ce20f]
push eax
call fcn.00605550
mov eax, 1
jmp 0x57be41
test byte [0x4cd8ff], 1
je 0x5760c6
xor eax, eax
jmp 0x57be41
cmp dword [ebp + 0x10], 0x2a
jne 0x57610f
mov edx, dword [0x4cd8f9]
push edx
call fcn.005ce982
pop ecx
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x576108
mov ecx, dword [ebp - 0x80]
cmp dword [ecx + 0x482], 0
je 0x576108
push 5
push 0
push 0
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0x318]
push edx
push 0
call fcn.00583622
add esp, 0x14
xor eax, eax
jmp 0x57be41
cmp dword [ebp + 0x10], 0x2b
jne 0x576227
call fcn.005e1a02
dec eax
jle 0x57616a
cmp dword [0x4d3018], 0
je 0x576163
push 0x204
mov edx, dword [0x4cda51]
push 0
dec edx
push 0
push edx
push 0
call fcn.00583622
add esp, 0x14
push 1
call fcn.00571766
pop ecx
cmp dword [0x4d57e4], 0
je 0x576163
mov ecx, dword [0x4cda51]
push ecx
call fcn.005e2192
pop ecx
xor eax, eax
jmp 0x57be41
mov edx, dword [0x4d3010]
cmp edx, dword [0x4d300c]
jne 0x57617f
xor eax, eax
jmp 0x57be41
mov edx, dword [0x4d3010]
shl edx, 4
add edx, 0x4cf009
mov dword [ebp - 0x84], edx
mov ecx, dword [ebp - 0x84]
mov eax, dword [ecx + 4]
push eax
call fcn.005b7a52
pop ecx
test eax, eax
je 0x5761b5
mov edx, dword [ebp - 0x84]
mov ecx, dword [edx + 8]
cmp ecx, dword [eax]
jae 0x5761bc
xor eax, eax
jmp 0x57be41
mov edx, dword [ebp - 0x84]
mov ecx, dword [edx]
push ecx
call fcn.005ce982
pop ecx
test eax, eax
jne 0x5761d6
xor eax, eax
jmp 0x57be41
mov edx, dword [ebp - 0x84]
mov ecx, dword [edx + 4]
push 0
push 0
push 0
mov eax, dword [ebp - 0x84]
mov dword [0x4cda25], ecx
mov edx, dword [eax + 8]
push edx
mov ecx, dword [ebp - 0x84]
mov eax, dword [ecx]
cmp eax, dword [0x4cd8f9]
jne 0x576209
xor edx, edx
jmp 0x576211
mov ecx, dword [ebp - 0x84]
mov edx, dword [ecx]
push edx
call fcn.00583622
add esp, 0x14
inc dword [0x4d3010]
xor eax, eax
jmp 0x57be41
cmp dword [ebp + 0x10], 0x2d
jne 0x576354
call fcn.005e1a02
dec eax
jle 0x576289
cmp dword [0x4d3018], 0
jne 0x57624a
xor ecx, ecx
mov dword [0x4cda51], ecx
push 0x204
mov eax, dword [0x4cda51]
push 0
inc eax
push 0
push eax
push 0
call fcn.00583622
add esp, 0x14
push 1
call fcn.00571766
pop ecx
cmp dword [0x4d57e4], 0
je 0x576282
mov edx, dword [0x4cda51]
push edx
call fcn.005e2192
pop ecx
xor eax, eax
jmp 0x57be41
mov edx, dword [0x4d3010]
cmp edx, dword [0x4d300c]
jne 0x57629c
call fcn.00571a8e
cmp dword [0x4d3010], 2
jge 0x5762ac
xor eax, eax
jmp 0x57be41
mov edx, dword [0x4d3010]
shl edx, 4
add edx, 0x4cefe9
mov dword [ebp - 0x84], edx
mov ecx, dword [ebp - 0x84]
mov eax, dword [ecx + 4]
push eax
call fcn.005b7a52
pop ecx
test eax, eax
je 0x5762e2
mov edx, dword [ebp - 0x84]
mov ecx, dword [edx + 8]
cmp ecx, dword [eax]
jae 0x5762e9
xor eax, eax
jmp 0x57be41
mov edx, dword [ebp - 0x84]
mov ecx, dword [edx]
push ecx
call fcn.005ce982
pop ecx
test eax, eax
jne 0x576303
xor eax, eax
jmp 0x57be41
mov edx, dword [ebp - 0x84]
mov ecx, dword [edx + 4]
push 0
push 0
push 0
mov eax, dword [ebp - 0x84]
mov dword [0x4cda25], ecx
mov edx, dword [eax + 8]
push edx
mov ecx, dword [ebp - 0x84]
mov eax, dword [ecx]
cmp eax, dword [0x4cd8f9]
jne 0x576336
xor edx, edx
jmp 0x57633e
mov ecx, dword [ebp - 0x84]
mov edx, dword [ecx]
push edx
call fcn.00583622
add esp, 0x14
dec dword [0x4d3010]
xor eax, eax
jmp 0x57be41
mov ecx, dword [0x4cda2d]
cmp ecx, dword [0x4cda31]
jae 0x57649b
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x10]
push edx
push 3
push 0x4cd6a8
call fcn.0059d5a2
add esp, 0x10
cmp dword [ebp + 0x10], 0x20
jne 0x5763a4
mov dword [0x4e2734], 1
mov ecx, dword [ebp - 0x14]
push ecx
mov eax, dword [ebp - 0x10]
push eax
push 0
call fcn.00571a2e
add esp, 0xc
jmp 0x57649b
cmp dword [ebp + 0x10], 0x3a
jne 0x5763cb
mov ecx, dword [ebp - 0x14]
xor edx, edx
push ecx
mov dword [0x4e2734], edx
mov eax, dword [ebp - 0x10]
push eax
push 0
push 0x31
call fcn.005718f2
add esp, 0x10
jmp 0x57649b
cmp dword [ebp + 0x10], 0x3b
jne 0x5763f4
mov dword [0x4e2734], 2
mov edx, dword [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0x10]
push ecx
push 0
push 0x36
call fcn.005718f2
add esp, 0x10
jmp 0x57649b
mov eax, dword [ebp + 0x10]
push eax
call fcn.005fdb9a
pop ecx
test eax, eax
je 0x57649b
cmp dword [0x4e2744], 0
je 0x576421
cmp dword [0x4e2744], 3
jne 0x576439
cmp dword [0x4e2734], 0
jne 0x576439
mov edx, dword [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0x10]
push ecx
mov al, byte [ebp + 0x10]
push eax
push 0x31
call fcn.005718f2
add esp, 0x10
jmp 0x57649b
cmp dword [0x4e2744], 1
je 0x576454
cmp dword [0x4e2744], 3
jne 0x57646a
cmp dword [0x4e2734], 1
jne 0x57646a
mov edx, dword [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0x10]
push ecx
mov al, byte [ebp + 0x10]
push eax
call fcn.00571a2e
add esp, 0xc
jmp 0x57649b
cmp dword [0x4e2744], 2
je 0x576485
cmp dword [0x4e2744], 3
jne 0x57649b
cmp dword [0x4e2734], 2
jne 0x57649b
mov edx, dword [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0x10]
push ecx
mov al, byte [ebp + 0x10]
push eax
push 0x36
call fcn.005718f2
add esp, 0x10
xor eax, eax
jmp 0x57be41
mov dx, word [ebp + 0x14]
and dx, 0xffff
cmp dx, 1
jne 0x57be2c
mov eax, 1
jmp 0x57be41
call fcn.006053a0
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
jne 0x576651
xor eax, eax
jmp 0x57be41
xor edx, edx
xor eax, eax
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x94], edx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
cmp dword [0x4cda21], 0
jbe 0x5766d1
mov edx, dword [0x4cda2d]
cmp edx, dword [0x4cda31]
jae 0x5766d1
mov ecx, dword [0x4cda2d]
push ecx
call fcn.005b3e22
pop ecx
mov esi, eax
jmp 0x5766d3
xor esi, esi
mov eax, dword [0x4cda1d]
add eax, dword [0x4cda21]
sub eax, dword [0x4cda2d]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x12fc], 0
cmp dword [ebp - 0x54], 0x10
jbe 0x5766fb
mov dword [ebp - 0x54], 0x10
push 3
mov ecx, dword [0x4cda2d]
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 0x11fc]
push edx
push ecx
push eax
call fcn.005b7316
add esp, 0x10
cmp eax, dword [ebp - 0x54]
je 0x576741
xor edx, edx
mov dword [ebp - 0x78], edx
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
push 0x960
push 0
lea eax, [ebp - 0x1c5c]
push eax
call fcn.005f95aa
add esp, 0xc
jmp 0x5767f6
lea edx, [ebp - 0x60]
push edx
mov ecx, dword [0x4cda2d]
push ecx
call fcn.005b3f0a
add esp, 8
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x54]
jae 0x57676a
cmp dword [ebp - 0x60], 0x10
jae 0x57676a
xor edx, edx
mov dword [ebp - 0x78], edx
cmp dword [0x4cda51], 0
jle 0x5767a6
mov ecx, dword [0x4cda51]
lea eax, [ebp - 0x1c5c]
push ecx
push 6
push eax
mov ecx, dword [0x4cda2d]
mov edx, dword [ebp - 0x78]
push edx
push ecx
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x11fc]
push eax
push edx
call fcn.0056bf52
add esp, 0x1c
mov dword [ebp - 0x5c], eax
jmp 0x5767d7
mov ecx, dword [0x4cd8f9]
lea eax, [ebp - 0x1c5c]
push ecx
push 5
push eax
mov ecx, dword [0x4cda2d]
mov edx, dword [ebp - 0x78]
push edx
push ecx
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x11fc]
push eax
push edx
call fcn.0056bf52
add esp, 0x1c
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x1624], 0
je 0x5767f6
push 0x960
push 0
lea ecx, [ebp - 0x1c5c]
push ecx
call fcn.005f95aa
add esp, 0xc
test byte [0x4cd8ff], 1
setne al
and eax, 1
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x88], ecx
cmp dword [0x4cda21], 0
jbe 0x57692b
call fcn.006053a0
mov dword [ebp - 0x94], eax
test eax, eax
je 0x57692b
cmp dword [0x4cda4d], 0
je 0x576857
cmp dword [ebp - 0x30], 0
jne 0x576857
push 0x4b3c24
push 2
push 0
mov edx, dword [ebp - 0x94]
push edx
call fcn.00605358
cmp dword [0x4cda4d], 0
je 0x57687b
cmp dword [ebp - 0x30], 0
je 0x57687b
push 0x4b3c31
push 3
push 0
mov ecx, dword [ebp - 0x94]
push ecx
call fcn.00605358
cmp dword [ebp - 0x30], 0
jne 0x576911
cmp dword [0x4cda4d], 0
jne 0x576895
mov eax, 0x4b3c43
jmp 0x57689a
mov eax, 0x4b3c52
push eax
push 4
push 0
mov edx, dword [ebp - 0x94]
push edx
call fcn.00605358
cmp dword [0x4cda4d], 0
je 0x5768c9
push 0x4b3c61
push 5
push 0
mov ecx, dword [ebp - 0x94]
push ecx
call fcn.00605358
push 0x4b3c70
push 6
push 0
mov eax, dword [ebp - 0x94]
push eax
call fcn.00605358
cmp dword [0x4cda4d], 0
je 0x5768fc
push 0x4b3c87
push 7
push 0
mov edx, dword [ebp - 0x94]
push edx
call fcn.00605358
push 0x4b3c9c
push 8
push 0
mov ecx, dword [ebp - 0x94]
push ecx
call fcn.00605358
push 0x4b3caf
mov eax, dword [ebp - 0x94]
push eax
push 0x10
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
cmp dword [0x4cda21], 0
jbe 0x5783a2
mov ecx, dword [0x4cda2d]
cmp ecx, dword [0x4cda31]
jae 0x5783a2
mov eax, dword [0x4cda2d]
cmp eax, dword [0x4cda1d]
jb 0x5783a2
mov edx, dword [0x4cda1d]
add edx, dword [0x4cda21]
cmp edx, dword [0x4cda31]
jb 0x5783a2
cmp dword [ebp - 0x30], 0
jne 0x5783a2
xor ecx, ecx
cmp dword [0x4cda4d], 0
mov dword [ebp - 0x2c], ecx
je 0x576a00
mov eax, dword [0x4cda31]
sub eax, dword [0x4cda2d]
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x54]
push edx
push 0
call fcn.006050fa
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x576a00
push 3
mov eax, dword [0x4cda2d]
mov ecx, dword [ebp - 0x54]
push ecx
push eax
mov edx, dword [ebp - 0x7c]
push edx
call fcn.005b7316
add esp, 0x10
cmp eax, dword [ebp - 0x54]
jne 0x5769f7
mov eax, dword [0x4cda4d]
mov ecx, dword [ebp - 0x54]
add eax, dword [0x4cda2d]
push ecx
sub eax, dword [0x4cda1d]
push eax
mov edx, dword [ebp - 0x7c]
push edx
call fcn.005f97de
add esp, 0xc
test eax, eax
je 0x5769f7
mov dword [ebp - 0x2c], 1
mov ecx, dword [ebp - 0x7c]
push ecx
call fcn.00605100
mov eax, dword [0x4cd8f9]
push eax
call fcn.005ce982
pop ecx
mov dword [ebp - 0x80], eax
call fcn.006053a0
mov dword [ebp - 0x98], eax
test eax, eax
je 0x576ad7
push 0x4b3cb7
push 0xa
push 0
mov edx, dword [ebp - 0x98]
push edx
call fcn.00605358
push 0x4b3ccc
push 0xb
push 0
mov ecx, dword [ebp - 0x98]
push ecx
call fcn.00605358
push 0x4b3899
push 0
push 0x800
mov eax, dword [ebp - 0x98]
push eax
call fcn.00605358
push 0x4b3cd5
push 0xc
push 0
mov edx, dword [ebp - 0x98]
push edx
call fcn.00605358
lea ecx, [ebp - 0x40]
push ecx
lea eax, [ebp - 0x3c]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.00574562
add esp, 0xc
mov edi, eax
test edi, edi
jne 0x576aa4
mov eax, dword [ebp - 0x40]
cmp eax, dword [0x4cda31]
jae 0x576aa4
or edi, 0xffffffff
test edi, edi
jne 0x576abd
push 0x4b3ce1
push 0xd
push 0
mov eax, dword [ebp - 0x98]
push eax
call fcn.00605358
push 0x4b3cf3
mov edx, dword [ebp - 0x98]
push edx
push 0x10
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00605358
call fcn.006053a0
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x576beb
push 0x4b3cf8
push 0x10
push 0
mov edx, dword [ebp - 0x9c]
push edx
call fcn.00605358
push 0x4b3d05
push 0x11
push 0
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00605358
push 0x4b3d15
push 0x12
push 0
mov eax, dword [ebp - 0x9c]
push eax
call fcn.00605358
push 0x4b3899
push 0
push 0x800
mov edx, dword [ebp - 0x9c]
push edx
call fcn.00605358
push 0x4b3d25
push 0x13
push 0
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00605358
mov eax, dword [ebp + 8]
push eax
call fcn.00605532
push 1
call fcn.0060543c
test eax, eax
je 0x576b7f
push 0x4b3d32
push 0x14
push 0
mov edx, dword [ebp - 0x9c]
push edx
call fcn.00605358
call fcn.00605382
mov ecx, dword [0x4cda2d]
push ecx
push esi
call fcn.005b3e8a
add esp, 8
mov edi, eax
test edi, edi
je 0x576bd1
mov eax, dword [edi]
cmp eax, dword [0x4cda31]
jae 0x576bd1
push 0x4b3899
push 0
push 0x800
mov edx, dword [ebp - 0x9c]
push edx
call fcn.00605358
push 0x4b3d40
push 0x15
push 0
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00605358
push 0x4b3d59
mov eax, dword [ebp - 0x9c]
push eax
push 0x10
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
cmp dword [ebp - 0x78], 0
je 0x576cb6
mov ecx, dword [ebp - 0x78]
movzx edi, byte [ecx]
and edi, 0x1f
cmp edi, 1
je 0x576c08
cmp edi, 0x11
jne 0x576c1d
push 0x4b3d61
push 0x18
push 0
mov eax, dword [ebp - 0x90]
push eax
call fcn.00605358
cmp edi, 2
je 0x576c27
cmp edi, 4
jne 0x576c3e
push 0x4b3d6d
push 0x18
push 0
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
jmp 0x576cb6
cmp edi, 5
je 0x576c4d
cmp edi, 7
je 0x576c4d
cmp edi, 9
jne 0x576c64
push 0x4b3d7c
push 0x18
push 0
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00605358
jmp 0x576cb6
cmp edi, 8
jne 0x576c80
push 0x4b3d89
push 0x18
push 0
mov eax, dword [ebp - 0x90]
push eax
call fcn.00605358
jmp 0x576cb6
cmp edi, 0xd
jne 0x576c9c
push 0x4b3d94
push 0x18
push 0
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
jmp 0x576cb6
cmp edi, 0xe
jne 0x576cb6
push 0x4b3da2
push 0x18
push 0
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00605358
cmp dword [ebp - 0x2c], 0
je 0x576cd1
push 0x4b3dad
push 0x19
push 0
mov eax, dword [ebp - 0x90]
push eax
call fcn.00605358
push 0x4b3dc6
push 0x1a
push 0
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
push 0
push 0x31
mov ecx, dword [0x4cda2d]
push ecx
call fcn.005ba9ca
add esp, 0xc
test eax, eax
jne 0x576d04
mov eax, 0x4b3dd6
jmp 0x576d09
mov eax, 0x4b3ddf
push eax
push 0x1b
push 0
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
push 0
push 0x36
mov ecx, dword [0x4cda2d]
push ecx
call fcn.005ba9ca
add esp, 0xc
test eax, eax
jne 0x576d38
mov eax, 0x4b3ded
jmp 0x576d3d
mov eax, 0x4b3df8
push eax
push 0x1c
push 0
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
call fcn.006053a0
mov dword [ebp - 0xa0], eax
test eax, eax
je 0x577004
push 0x4b3e08
push 0x1e
push 0
mov edx, dword [ebp - 0xa0]
push edx
call fcn.00605358
push 0x4b3e13
push 0x1f
push 0
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.00605358
push 0x4b3e29
push 0x20
push 0
mov eax, dword [ebp - 0xa0]
push eax
call fcn.00605358
lea edx, [ebp - 0x10ec]
mov ecx, dword [0x4cda2d]
push edx
push 0x3c
push ecx
call fcn.005ba9ca
add esp, 0xc
test eax, eax
je 0x576de5
lea eax, [ebp - 0x10ec]
mov edx, 0x4b3e43
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x576de3
test cl, cl
je 0x576e2a
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x576de3
add eax, 2
add edx, 2
test cl, cl
jne 0x576dc7
je 0x576e2a
lea eax, [ebp - 0x10ec]
mov edx, dword [0x4cda2d]
push eax
push 0x3d
push edx
call fcn.005ba9ca
add esp, 0xc
test eax, eax
je 0x576e3f
lea eax, [ebp - 0x10ec]
mov edx, 0x4b3e43
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x576e3f
test cl, cl
je 0x576e28
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x576e3f
add eax, 2
add edx, 2
test cl, cl
jne 0x576e0c
jne 0x576e3f
push 0x4b3e4d
push 0x21
push 0
mov eax, dword [ebp - 0xa0]
push eax
call fcn.00605358
cmp dword [ebp - 0x80], 0
je 0x576e62
mov edx, dword [ebp - 0x80]
cmp dword [edx + 0x482], 0
je 0x576e62
mov ecx, dword [ebp - 0x80]
mov eax, dword [ecx + 0x318]
cmp eax, dword [0x4cda2d]
je 0x576e77
push 0x4b3e6b
push 0x22
push 0
mov edx, dword [ebp - 0xa0]
push edx
call fcn.00605358
push 0x4b3899
push 0
push 0x800
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.00605358
push 0x4b3e80
push 0x23
push 0
mov eax, dword [ebp - 0xa0]
push eax
call fcn.00605358
push 0x4b3e93
push 0x24
push 0
mov edx, dword [ebp - 0xa0]
push edx
call fcn.00605358
cmp dword [0x4d8140], 0
je 0x576ef7
cmp dword [0x4d8138], 0
je 0x576ee2
push 0x4b3ea5
push 0x25
push 0
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.00605358
jmp 0x576ef7
push 0x4b3ec3
push 0x25
push 0
mov eax, dword [ebp - 0xa0]
push eax
call fcn.00605358
cmp dword [0x4d375c], 0
je 0x576f87
push 0x4b3899
push 0
push 0x800
mov edx, dword [ebp - 0xa0]
push edx
call fcn.00605358
push 0x4b3edd
push 0x26
push 0
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.00605358
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xe0], 0x4d8d70
mov edx, dword [ebp - 0xe0]
mov ecx, dword [edx]
cmp ecx, dword [0x4cda2d]
jne 0x576f5c
mov eax, dword [ebp - 0xe0]
cmp dword [eax + 8], 1
je 0x576f6c
inc dword [ebp - 0x38]
add dword [ebp - 0xe0], 0x1c
cmp dword [ebp - 0x38], 4
jl 0x576f40
cmp dword [ebp - 0x38], 4
jge 0x576f87
push 0x4b3ef5
push 0x27
push 0
mov edx, dword [ebp - 0xa0]
push edx
call fcn.00605358
test esi, esi
je 0x576fea
mov ecx, dword [esi + 0x28]
cmp ecx, dword [esi + 0xc]
jb 0x576fbd
mov eax, dword [esi + 0xc]
add eax, dword [esi + 0x3e9]
cmp eax, dword [esi + 0x28]
ja 0x576fea
mov edx, dword [esi + 0xc]
cmp edx, dword [0x4cda2d]
ja 0x576fea
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 0x3e9]
cmp ecx, dword [0x4cda2d]
jbe 0x576fea
push 0x4b3899
push 0
push 0x800
mov eax, dword [ebp - 0xa0]
push eax
call fcn.00605358
push 0x4b3f10
push 0x28
push 0
mov edx, dword [ebp - 0xa0]
push edx
call fcn.00605358
push 0x4b3f28
mov ecx, dword [ebp - 0xa0]
push ecx
push 0x10
mov eax, dword [ebp - 0x90]
push eax
call fcn.00605358
test esi, esi
je 0x57714a
lea edx, [ebp - 0x60]
push edx
mov ecx, dword [0x4cda2d]
push ecx
call fcn.005b3f0a
add esp, 8
test eax, eax
je 0x57714a
mov eax, dword [0x4cda31]
sub eax, dword [0x4cda2d]
cmp eax, dword [ebp - 0x60]
ja 0x57714a
call fcn.006053a0
mov dword [ebp - 0xa8], eax
test eax, eax
je 0x57714a
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0x3c]
push ecx
mov eax, dword [0x4cda2d]
push eax
call fcn.00574562
add esp, 0xc
mov edi, eax
test edi, edi
jne 0x577078
mov eax, dword [ebp - 0x40]
cmp eax, dword [0x4cda31]
jae 0x577078
or edi, 0xffffffff
push 0x4b3f34
push 0x29
push 0
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00605358
test edi, edi
jne 0x5770a6
push 0x4b3f43
push 0x2a
push 0
mov edx, dword [ebp - 0xa8]
push edx
call fcn.00605358
push 0x4b3f52
push 0x2b
push 0
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.00605358
cmp dword [esi + 0x174], 0
je 0x577130
push 0x4b3899
push 0
push 0x800
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00605358
push 0x4b3f71
push 0x2c
push 0
mov edx, dword [ebp - 0xa8]
push edx
call fcn.00605358
push 0x4b3f88
push 0x2d
push 0
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.00605358
push 0x4b3f9c
push 0x2e
push 0
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00605358
push 0x4b3fba
push 0x2f
push 0
mov edx, dword [ebp - 0xa8]
push edx
call fcn.00605358
push 0x4b3fd5
mov ecx, dword [ebp - 0xa8]
push ecx
push 0x10
mov eax, dword [ebp - 0x90]
push eax
call fcn.00605358
test esi, esi
je 0x577305
call fcn.006053a0
mov dword [ebp - 0xac], eax
test eax, eax
je 0x577305
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0x3c]
push ecx
mov eax, dword [0x4cda2d]
push eax
call fcn.00574562
add esp, 0xc
mov edi, eax
test edi, edi
jne 0x57718f
mov eax, dword [ebp - 0x40]
cmp eax, dword [0x4cda31]
jae 0x57718f
or edi, 0xffffffff
lea eax, [ebp - 0x60]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.005b3f0a
add esp, 8
test eax, eax
je 0x57722b
mov ecx, dword [0x4cda31]
sub ecx, dword [0x4cda2d]
cmp ecx, dword [ebp - 0x60]
ja 0x57722b
push 0x4b3f34
push 0x33
push 0
mov eax, dword [ebp - 0xac]
push eax
call fcn.00605358
test edi, edi
jne 0x5771fe
push 0x4b3f43
push 0x34
push 0
mov edx, dword [ebp - 0xac]
push edx
call fcn.00605358
push 0x4b3fdf
push 0x35
push 0
mov ecx, dword [ebp - 0xac]
push ecx
call fcn.00605358
push 0x4b3ffa
push 0x36
push 0
mov eax, dword [ebp - 0xac]
push eax
call fcn.00605358
push 0x4b3899
push 0
push 0x800
mov edx, dword [ebp - 0xac]
push edx
call fcn.00605358
mov ecx, dword [esi + 0xc]
cmp ecx, dword [0x4cda2d]
ja 0x577259
mov eax, dword [esi + 0xc]
add eax, dword [esi + 0x10]
cmp eax, dword [0x4cda31]
jb 0x577259
push 0x4b4019
push 0x37
push 0
mov edx, dword [ebp - 0xac]
push edx
call fcn.00605358
push 0x4b4036
push 0x38
push 0
mov ecx, dword [ebp - 0xac]
push ecx
call fcn.00605358
call fcn.005e1a02
dec eax
jle 0x5772a0
push 0x4b404c
push 0x39
push 0
mov eax, dword [ebp - 0xac]
push eax
call fcn.00605358
push 0x4b4064
push 0x3a
push 0
mov edx, dword [ebp - 0xac]
push edx
call fcn.00605358
cmp dword [esi + 0x174], 0
je 0x5772eb
push 0x4b3899
push 0
push 0x800
mov ecx, dword [ebp - 0xac]
push ecx
call fcn.00605358
push 0x4b3f71
push 0x3b
push 0
mov eax, dword [ebp - 0xac]
push eax
call fcn.00605358
push 0x4b3f88
push 0x3c
push 0
mov edx, dword [ebp - 0xac]
push edx
call fcn.00605358
push 0x4b4074
mov ecx, dword [ebp - 0xac]
push ecx
push 0x10
mov eax, dword [ebp - 0x90]
push eax
call fcn.00605358
push 0x4b3899
push 0
push 0x800
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
cmp dword [ebp - 0x162c], 0
je 0x57734c
mov ecx, dword [ebp - 0x162c]
push ecx
call fcn.005b7a52
pop ecx
test eax, eax
je 0x57734c
push 0x4b407e
push 0x47
push 0
mov eax, dword [ebp - 0x90]
push eax
call fcn.00605358
test esi, esi
je 0x5773c7
mov edx, dword [ebp - 0x163c]
cmp edx, dword [esi + 0xc]
jb 0x5773c7
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 0x10]
cmp ecx, dword [ebp - 0x163c]
jbe 0x5773c7
lea eax, [ebp - 0x60]
push eax
mov edx, dword [ebp - 0x163c]
push edx
call fcn.005b3f0a
add esp, 8
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
je 0x5773b2
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
and eax, 0x1f
cmp eax, 0x1d
je 0x5773b2
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
and ecx, 0x1f
cmp ecx, 0x1e
je 0x5773b2
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
and edx, 0x1f
cmp edx, 0x1f
jne 0x5773c7
push 0x4b408c
push 0x48
push 0
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00605358
lea eax, [ebp - 0x10ec]
mov edx, dword [0x4cda2d]
push eax
push 0x3a
push edx
call fcn.005ba9ca
add esp, 0xc
test eax, eax
je 0x577423
push 0xa
push 0x4b3bd8
lea ecx, [ebp - 0x10ec]
push ecx
call fcn.005f97de
add esp, 0xc
test eax, eax
jne 0x577423
mov eax, dword [ebp - 0x163c]
push eax
call fcn.005b7a52
pop ecx
test eax, eax
je 0x577423
push 0x4b40a6
push 0x49
push 0
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
cmp dword [0x4d5a5c], 4
je 0x577464
cmp dword [ebp - 0x80], 0
je 0x577464
mov ecx, dword [ebp - 0x80]
cmp dword [ecx + 0x482], 0
je 0x577464
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0x318]
cmp edx, dword [0x4cda2d]
je 0x577464
push 0x4b40bf
push 0x4a
push 0
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00605358
test esi, esi
je 0x577592
lea eax, [ebp - 0x10ec]
mov edx, dword [0x4cda2d]
push eax
push 0x3a
push edx
call fcn.005ba9ca
add esp, 0xc
test eax, eax
je 0x577592
push 0xb
push 0x4b40db
lea ecx, [ebp - 0x10ec]
push ecx
call fcn.005f97de
add esp, 0xc
test eax, eax
je 0x577512
push 0xb
push 0x4b40e7
lea eax, [ebp - 0x10ec]
push eax
call fcn.005f97de
add esp, 0xc
test eax, eax
je 0x577512
push 0xc
push 0x4b40f3
lea edx, [ebp - 0x10ec]
push edx
call fcn.005f97de
add esp, 0xc
test eax, eax
je 0x577512
push 4
push 0x4b4100
lea ecx, [ebp - 0x10ec]
push ecx
call fcn.005f97de
add esp, 0xc
test eax, eax
je 0x577512
push 7
push 0x4b4105
lea eax, [ebp - 0x10ec]
push eax
call fcn.005f97de
add esp, 0xc
test eax, eax
jne 0x577592
lea ebx, [ebp - 0x10ec]
jmp 0x57751b
inc ebx
xor eax, eax
mov al, byte [ebx]
cmp eax, 0x3c
je 0x577529
cmp byte [ebx], 0
jne 0x57751a
xor edx, edx
mov dl, byte [ebx]
cmp edx, 0x3c
jne 0x577592
inc ebx
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0x2b
jne 0x57753d
inc ebx
xor eax, eax
mov dword [ebp - 0x70], eax
jmp 0x57757e
xor edx, edx
mov dl, byte [ebx]
cmp edx, 0x39
jg 0x577556
xor ecx, ecx
mov cl, byte [ebx]
add ecx, 0xffffffd0
jmp 0x577572
xor eax, eax
mov al, byte [ebx]
mov dword [ebp - 0xd4], eax
mov edx, dword [ebp - 0xd4]
push edx
call fcn.005ff8d2
pop ecx
mov ecx, eax
add ecx, 0xffffffc9
mov eax, dword [ebp - 0x70]
shl eax, 4
add ecx, eax
inc ebx
mov dword [ebp - 0x70], ecx
xor edx, edx
mov dl, byte [ebx]
push edx
call fcn.005fdc5a
pop ecx
test eax, eax
jne 0x577544
mov ecx, dword [esi]
add dword [ebp - 0x70], ecx
cmp dword [ebp - 0x70], 0
je 0x57759d
mov eax, dword [ebp - 0x70]
jmp 0x5775a2
mov eax, dword [0x4cda2d]
push eax
push 0x4dca05
call fcn.005ab51a
add esp, 8
mov dword [ebp - 0x88], eax
call fcn.006053a0
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x577bf6
cmp dword [0x4d3010], 0
jle 0x5775e7
mov edx, dword [0x4d3010]
shl edx, 4
add edx, 0x4ceff9
mov dword [ebp - 0x84], edx
cmp dword [ebp - 0x80], 0
je 0x57761f
mov ecx, dword [ebp - 0x80]
cmp dword [ecx + 0x482], 0
je 0x57761f
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0x318]
cmp edx, dword [0x4cda2d]
je 0x57761f
push 0x4b410d
push 0x4b
push 0
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.00605358
call fcn.005e1a02
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 1
jle 0x577672
mov eax, dword [ebp - 0xc]
dec eax
cmp eax, dword [0x4cda51]
jle 0x57764e
push 0x4b4117
push 0x4c
push 0
mov edx, dword [ebp - 0xa4]
push edx
call fcn.00605358
cmp dword [0x4cda51], 0
jle 0x5776dd
push 0x4b4138
push 0x4d
push 0
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.00605358
jmp 0x5776dd
cmp dword [0x4d3010], 1
jg 0x5776a5
cmp dword [0x4d3010], 0
jle 0x5776ba
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
cmp edx, dword [0x4cd8f9]
jne 0x5776a5
mov ecx, dword [ebp - 0x84]
mov eax, dword [ecx + 8]
cmp eax, dword [0x4cda2d]
je 0x5776ba
push 0x4b4154
push 0x4e
push 0
mov edx, dword [ebp - 0xa4]
push edx
call fcn.00605358
mov ecx, dword [0x4d3010]
cmp ecx, dword [0x4d300c]
jge 0x5776dd
push 0x4b4164
push 0x4f
push 0
mov eax, dword [ebp - 0xa4]
push eax
call fcn.00605358
push 0x4b416f
push 0x51
push 0
mov edx, dword [ebp - 0xa4]
push edx
call fcn.00605358
cmp dword [ebp - 0x78], 0
je 0x57773a
push 0x4b3899
push 0
push 0x800
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.00605358
push 0x4b4182
push 0x52
push 0
mov eax, dword [ebp - 0xa4]
push eax
call fcn.00605358
push 0x4b41a0
push 0x53
push 0
mov edx, dword [ebp - 0xa4]
push edx
call fcn.00605358
cmp dword [0x4de6d0], 0
je 0x5777e4
cmp dword [0x4de6e8], 0
je 0x5777e4
cmp dword [0x4de6d8], 0
jg 0x57777c
mov ecx, dword [0x4de6e8]
mov eax, dword [ecx]
cmp eax, dword [0x4cda2d]
jne 0x57777c
mov edx, dword [0x4de6d0]
dec edx
cmp edx, dword [0x4de6d8]
jle 0x5777e4
push 0x4b3899
push 0
push 0x800
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.00605358
cmp dword [0x4de6d8], 0
jg 0x5777ac
mov eax, dword [0x4de6e8]
mov edx, dword [eax]
cmp edx, dword [0x4cda2d]
je 0x5777c1
push 0x4b41b9
push 0x54
push 0
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.00605358
mov eax, dword [0x4de6d0]
dec eax
cmp eax, dword [0x4de6d8]
jle 0x5777e4
push 0x4b41d3
push 0x55
push 0
mov edx, dword [ebp - 0xa4]
push edx
call fcn.00605358
mov ecx, dword [0x4cda2d]
push ecx
call fcn.005e78fa
pop ecx
test eax, eax
je 0x57780a
push 0x4b41e9
push 0x56
push 0
mov eax, dword [ebp - 0xa4]
push eax
call fcn.00605358
test esi, esi
je 0x577936
cmp dword [ebp - 0x88], 0
je 0x577936
push 0x4b3899
push 0
push 0x800
mov edx, dword [ebp - 0xa4]
push edx
call fcn.00605358
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx]
cmp eax, dword [0x4cda2d]
je 0x57785c
push 0x4b41fe
push 0x57
push 0
mov edx, dword [ebp - 0xa4]
push edx
call fcn.00605358
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x14], 0
je 0x57788e
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x14]
cmp edx, dword [0x4cda2d]
je 0x57788e
push 0x4b420a
push 0x58
push 0
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.00605358
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x18], 0xc
jge 0x5778a8
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 0x18]
mov dword [ebp - 0xc], ecx
jmp 0x5778af
mov dword [ebp - 0xc], 0xa
xor ebx, ebx
cmp ebx, dword [ebp - 0xc]
jge 0x577916
lea eax, [ebp - 0x11ec]
push eax
push 0x3f
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 0x1c]
add ecx, dword [esi]
add ecx, ebx
push ecx
call fcn.005ba9ca
add esp, 0xc
test eax, eax
je 0x577910
lea eax, [ebp - 0x11e3]
lea edx, [ebp - 0x10ec]
push eax
push 0x4b4217
push edx
call fcn.005fcc36
add esp, 0xc
lea ecx, [ebp - 0x10ec]
push ecx
lea eax, [ebx + 0xd000]
push eax
push 0
mov edx, dword [ebp - 0xa4]
push edx
call fcn.00605358
inc ebx
cmp ebx, dword [ebp - 0xc]
jl 0x5778b6
mov ecx, dword [ebp - 0x88]
cmp ebx, dword [ecx + 0x18]
jge 0x577936
push 0x4b421f
push 0x59
push 0
mov eax, dword [ebp - 0xa4]
push eax
call fcn.00605358
test esi, esi
je 0x577967
cmp dword [esi + 0xc], 0
je 0x577967
cmp dword [esi + 0x421], 0
je 0x577967
mov edx, dword [0x4cda2d]
sub edx, dword [esi + 0xc]
mov dword [ebp - 0x58], edx
mov ecx, dword [ebp - 0x58]
push ecx
push esi
call fcn.005d520a
add esp, 8
mov dword [ebp - 0x34], eax
jmp 0x57796e
mov dword [ebp - 0x34], 0xffffffff
cmp dword [ebp - 0x34], 0
jl 0x577bdc
push 0x4b3899
push 0
push 0x800
mov eax, dword [ebp - 0xa4]
push eax
call fcn.00605358
xor ebx, ebx
jmp 0x577b8f
mov eax, dword [ebp - 0x34]
add eax, ebx
lea edx, [eax + eax*8]
mov ecx, dword [esi + 0x421]
mov eax, dword [ecx + edx + 5]
cmp eax, dword [ebp - 0x58]
jne 0x577ba5
mov edx, dword [ebp - 0x34]
add edx, ebx
lea ecx, [edx + edx*8]
mov eax, dword [esi + 0x421]
mov edx, dword [eax + ecx + 1]
add edx, dword [esi + 0xc]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x34]
add ecx, ebx
lea eax, [ecx + ecx*8]
mov edx, dword [esi + 0x421]
xor ecx, ecx
mov cl, byte [edx + eax]
cmp ecx, 3
jne 0x5779fe
push 0x4b422e
lea eax, [ebp - 0x10ec]
push eax
call fcn.005fcc36
add esp, 8
mov dword [ebp - 8], eax
jmp 0x577b04
mov edx, dword [ebp - 0x34]
add edx, ebx
lea ecx, [edx + edx*8]
mov eax, dword [esi + 0x421]
xor edx, edx
mov dl, byte [eax + ecx]
cmp edx, 2
jne 0x577a32
push 0x4b4239
lea ecx, [ebp - 0x10ec]
push ecx
call fcn.005fcc36
add esp, 8
mov dword [ebp - 8], eax
jmp 0x577b04
lea eax, [ebp - 0x11fc]
push eax
mov edx, dword [ebp - 0x3c]
push edx
call fcn.005b768e
add esp, 8
mov dword [ebp - 0x54], eax
test eax, eax
jne 0x577a68
push 0x4b4247
lea edx, [ebp - 0x10ec]
push edx
call fcn.005fcc36
add esp, 8
mov dword [ebp - 8], eax
jmp 0x577b04
push 0
push 3
lea ecx, [ebp - 0x25bc]
push ecx
push 0
mov eax, dword [ebp - 0x3c]
push eax
mov edx, dword [ebp - 0x54]
push edx
lea ecx, [ebp - 0x11fc]
push ecx
call fcn.0056bf52
add esp, 0x1c
xor eax, eax
mov dword [ebp - 8], eax
lea edx, [ebp - 0x10ec]
mov dword [ebp - 0xe8], edx
lea ecx, [ebp - 0x24b8]
mov dword [ebp - 0xe4], ecx
jmp 0x577aca
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe8]
mov dl, byte [eax]
mov byte [ecx], dl
inc dword [ebp - 8]
inc dword [ebp - 0xe8]
inc dword [ebp - 0xe4]
cmp dword [ebp - 8], 0x40
jge 0x577aea
mov eax, dword [ebp - 0xe4]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x20
je 0x577aea
mov ecx, dword [ebp - 0xe4]
cmp byte [ecx], 0
jne 0x577aab
push 0x4b4232
lea eax, [ebp - 0x10ec]
add eax, dword [ebp - 8]
push eax
call fcn.005fcc36
add esp, 8
add dword [ebp - 8], eax
push 0
mov edx, 0x100
sub edx, dword [ebp - 8]
push edx
lea ecx, [ebp - 0x10ec]
add ecx, dword [ebp - 8]
push ecx
push 0x32
mov eax, dword [esi]
push eax
mov edx, dword [ebp - 0x3c]
push edx
call fcn.005d36ba
add esp, 0x18
mov edi, eax
test edi, edi
jne 0x577b53
mov eax, 0x100
sub eax, dword [ebp - 8]
push eax
lea edx, [ebp - 0x10ec]
add edx, dword [ebp - 8]
push edx
push 2
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.005d42b2
add esp, 0x10
mov edi, eax
test edi, edi
jne 0x577b72
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x10ec]
push eax
push 0x4b399e
add edx, dword [ebp - 8]
push edx
call fcn.005fcc36
add esp, 0xc
lea ecx, [ebp - 0x10ec]
push ecx
lea eax, [ebx + 0xd080]
push eax
push 0
mov edx, dword [ebp - 0xa4]
push edx
call fcn.00605358
inc ebx
cmp ebx, 0xa
jge 0x577ba5
mov ecx, dword [ebp - 0x34]
add ecx, ebx
cmp ecx, dword [esi + 0x425]
jl 0x577997
mov eax, dword [ebp - 0x34]
add eax, ebx
cmp eax, dword [esi + 0x425]
jge 0x577bdc
add ebx, dword [ebp - 0x34]
lea edx, [ebx + ebx*8]
mov ecx, dword [esi + 0x421]
mov eax, dword [ecx + edx + 5]
cmp eax, dword [ebp - 0x58]
jne 0x577bdc
push 0x4b4252
push 0x5a
push 0
mov edx, dword [ebp - 0xa4]
push edx
call fcn.00605358
push 0x4b4272
mov ecx, dword [ebp - 0xa4]
push ecx
push 0x10
mov eax, dword [ebp - 0x90]
push eax
call fcn.00605358
cmp dword [0x4d6ea0], 0
je 0x577c9b
test esi, esi
je 0x577c9b
mov edx, dword [esi]
cmp edx, dword [0x4d6ea4]
jne 0x577c9b
cmp dword [ebp - 0x78], 0
je 0x577c9b
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
and eax, 0x1f
cmp eax, 0x1d
je 0x577c4c
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
and ecx, 0x1f
cmp ecx, 0x1e
je 0x577c4c
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
and edx, 0x1f
cmp edx, 0x1f
jne 0x577c9b
cmp dword [0x4d5a5c], 4
je 0x577c9b
push 0
push 0x32
mov ecx, dword [0x4cda2d]
push ecx
call fcn.005ba9ca
add esp, 0xc
test eax, eax
je 0x577c9b
lea eax, [ebp - 0x2858]
push eax
call fcn.005f5c1a
pop ecx
test eax, eax
je 0x577c9b
cmp dword [ebp - 0x2828], 0
jne 0x577c9b
push 0x4b4278
push 0x5b
push 0
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
cmp dword [0x4d7d98], 1
jle 0x577d44
call fcn.006053a0
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x577d44
xor ebx, ebx
jmp 0x577d22
lea eax, [ebx + ebx*2]
lea eax, [ebx + eax*4]
shl eax, 3
sub eax, ebx
shl eax, 2
sub eax, ebx
mov edx, dword [0x4d7db0]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x74], ecx
push 0x400
mov eax, dword [ebp - 0x74]
push eax
lea edx, [ebp - 0x10ec]
push edx
call fcn.005ce9ea
add esp, 0xc
lea ecx, [ebp - 0x10ec]
lea eax, [ebx + 0x300]
mov edx, 8
push ecx
mov ecx, dword [0x4cd8f9]
push eax
cmp ecx, dword [ebp - 0x74]
je 0x577d14
add edx, 0xfffffff8
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.00605358
inc ebx
cmp ebx, dword [0x4d7d98]
jl 0x577cbf
push 0x4b4288
mov edx, dword [ebp - 0xb0]
push edx
push 0x10
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00605358
call fcn.006053a0
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x577f8f
push 0x4b428f
push 0x5c
push 0
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00605358
mov ecx, dword [ebp - 0x1640]
cmp ecx, dword [ebp - 0x15f8]
je 0x577dd3
mov eax, dword [ebp - 0x1640]
cmp eax, dword [ebp - 0x15f4]
je 0x577dd3
mov edx, dword [ebp - 0x1640]
push edx
call fcn.005b7a52
pop ecx
test eax, eax
je 0x577dd3
mov ecx, dword [ebp - 0x163c]
cmp ecx, dword [ebp - 0x1640]
jne 0x577dbe
push 0x4b429a
push 0x5d
push 0
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00605358
jmp 0x577dd3
push 0x4b42a4
push 0x5d
push 0
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00605358
mov ecx, dword [ebp - 0x163c]
cmp ecx, dword [ebp - 0x1640]
je 0x577e07
mov eax, dword [ebp - 0x163c]
push eax
call fcn.005b7a52
pop ecx
test eax, eax
je 0x577e07
push 0x4b42b6
push 0x5e
push 0
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00605358
mov ecx, dword [ebp - 0x15f8]
push ecx
call fcn.005b7a52
pop ecx
test eax, eax
jne 0x577e6a
mov eax, dword [ebp - 0x15f4]
push eax
call fcn.005b7a52
pop ecx
test eax, eax
je 0x577f75
cmp byte [ebp - 0x1456], 0
je 0x577e50
push 0x4b42ca
push 0x60
push 0
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00605358
jmp 0x577f75
push 0x4b42e2
push 0x60
push 0
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.00605358
jmp 0x577f75
mov eax, dword [ebp - 0x15f4]
push eax
call fcn.005b7a52
pop ecx
test eax, eax
jne 0x577ecd
mov edx, dword [ebp - 0x15f8]
push edx
call fcn.005b7a52
pop ecx
test eax, eax
je 0x577f75
cmp byte [ebp - 0x1457], 0
je 0x577eb3
push 0x4b42ca
push 0x5f
push 0
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.00605358
jmp 0x577f75
push 0x4b42e2
push 0x5f
push 0
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00605358
jmp 0x577f75
cmp byte [ebp - 0x1457], 0
jne 0x577edf
cmp byte [ebp - 0x1456], 0
je 0x577f4b
cmp byte [ebp - 0x1457], 0
je 0x577eff
push 0x4b42f2
push 0x5f
push 0
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00605358
jmp 0x577f14
push 0x4b4309
push 0x5f
push 0
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.00605358
cmp byte [ebp - 0x1456], 0
je 0x577f34
push 0x4b42f2
push 0x60
push 0
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00605358
jmp 0x577f75
push 0x4b42e2
push 0x60
push 0
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00605358
jmp 0x577f75
push 0x4b4318
push 0x5f
push 0
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.00605358
push 0x4b4327
push 0x60
push 0
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00605358
push 0x4b4337
mov edx, dword [ebp - 0xb4]
push edx
push 0x10
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00605358
cmp dword [ebp - 0x78], 0
je 0x577fc1
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
and edx, 0x1f
cmp edx, 0x1f
je 0x577fac
mov ecx, dword [ebp - 0x78]
test byte [ecx], 0x60
je 0x577fc1
push 0x4b4346
push 0x61
push 0
mov eax, dword [ebp - 0x90]
push eax
call fcn.00605358
push 0x4b3899
push 0
push 0x800
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
call fcn.006053a0
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x57820b
test esi, esi
je 0x578005
push 0x4b435c
push 0x65
push 0
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00605358
push 0x4b4382
push 0x66
push 0
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00605358
push 0x4b3899
push 0
push 0x800
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00605358
push 0x4b4396
push 0x67
push 0
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00605358
push 0x4b43a6
push 0x68
push 0
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00605358
push 0x4b43c3
push 0x69
push 0
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00605358
push 0x4b43cd
push 0x6a
push 0
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00605358
cmp dword [0x4cda4d], 0
je 0x5780a4
push 0x4b43e3
push 0x6b
push 0
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00605358
test esi, esi
je 0x5780c6
cmp dword [esi + 0x174], 0
je 0x5780c6
push 0x4b43f5
push 0x6c
push 0
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00605358
cmp dword [0x4deb80], 0
je 0x5780e4
push 0x4b4400
push 0x6d
push 0
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00605358
push 0x4b3899
push 0
push 0x800
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00605358
push 0x4b440d
push 0x6e
push 0
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00605358
push 0x4b4424
push 0x6f
push 0
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00605358
push 0x4b4431
push 0x70
push 0
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00605358
push 0x4b443f
push 0x71
push 0
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00605358
push 0x4b444d
push 0x72
push 0
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00605358
push 0x4b445a
push 0x73
push 0
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00605358
push 0x4b3899
push 0
push 0x800
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00605358
push 0x4b4476
push 0x74
push 0
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00605358
push 0x4b4489
push 0x75
push 0
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00605358
call fcn.005e1a02
dec eax
jle 0x5781f1
push 0x4b3899
push 0
push 0x800
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00605358
push 0x4b449e
push 0x76
push 0
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00605358
push 0x4b44b7
mov ecx, dword [ebp - 0xb8]
push ecx
push 0x10
mov eax, dword [ebp - 0x90]
push eax
call fcn.00605358
call fcn.006053a0
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x5783a2
mov edx, dword [0x4cda2d]
add edx, dword [ebp - 0x5c]
cmp edx, dword [0x4cda31]
jne 0x578290
cmp dword [ebp - 0x78], 0
je 0x578262
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
and eax, 0x1f
cmp eax, 0x1d
je 0x578262
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
and ecx, 0x1f
cmp ecx, 0x1e
je 0x578262
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
and edx, 0x1f
cmp edx, 0x1f
jne 0x578279
push 0x4b44c3
push 0x7a
push 0
mov ecx, dword [ebp - 0xbc]
push ecx
call fcn.00605358
jmp 0x5782a5
push 0x4b44dc
push 0x7a
push 0
mov eax, dword [ebp - 0xbc]
push eax
call fcn.00605358
jmp 0x5782a5
push 0x4b44f5
push 0x7b
push 0
mov edx, dword [ebp - 0xbc]
push edx
call fcn.00605358
cmp dword [ebp - 0x163c], 0
je 0x5782c3
push 0x4b42b6
push 0x7c
push 0
mov ecx, dword [ebp - 0xbc]
push ecx
call fcn.00605358
cmp dword [ebp - 0x1640], 0
je 0x5782ef
mov eax, dword [ebp - 0x1640]
cmp eax, dword [ebp - 0x163c]
je 0x5782ef
push 0x4b4505
push 0x7d
push 0
mov edx, dword [ebp - 0xbc]
push edx
call fcn.00605358
cmp dword [ebp - 0x162c], 0
je 0x578335
mov ecx, dword [ebp - 0x1658]
and ecx, 0xf0
cmp ecx, 0x70
jne 0x578320
push 0x4b4517
push 0x7e
push 0
mov eax, dword [ebp - 0xbc]
push eax
call fcn.00605358
jmp 0x578335
push 0x4b4529
push 0x7e
push 0
mov edx, dword [ebp - 0xbc]
push edx
call fcn.00605358
cmp dword [ebp - 0x1648], 0
je 0x578388
mov ecx, dword [ebp - 0x1648]
cmp ecx, dword [ebp - 0x162c]
je 0x578388
mov eax, dword [ebp - 0x1658]
and eax, 0xf0
cmp eax, 0x70
jne 0x578373
push 0x4b453b
push 0x7f
push 0
mov edx, dword [ebp - 0xbc]
push edx
call fcn.00605358
jmp 0x578388
push 0x4b4549
push 0x7f
push 0
mov ecx, dword [ebp - 0xbc]
push ecx
call fcn.00605358
push 0x4b4557
mov eax, dword [ebp - 0xbc]
push eax
push 0x10
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
cmp dword [0x4d57cc], 3
jne 0x5783c5
push 0x4b456b
push 0x83
push 0
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00605358
jmp 0x578412
cmp dword [0x4d57cc], 6
je 0x5783d7
cmp dword [0x4d57cc], 7
jne 0x5783f1
push 0x4b4580
push 0x83
push 0
mov eax, dword [ebp - 0x90]
push eax
call fcn.00605358
jmp 0x578412
cmp dword [0x4d57cc], 0
je 0x578412
push 0x4b4591
push 0x83
push 0
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
test esi, esi
je 0x57861e
cmp dword [ebp - 0x30], 0
jne 0x57861e
call fcn.006053a0
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x57861e
mov edx, dword [0x4cda31]
cmp edx, dword [0x4cda2d]
jbe 0x57848f
mov ecx, dword [0x4cda2d]
cmp ecx, dword [0x4cda1d]
jb 0x57848f
mov eax, dword [0x4cda1d]
add eax, dword [0x4cda21]
cmp eax, dword [0x4cda31]
jb 0x57848f
mov edx, dword [0x4cda2d]
push edx
call fcn.005e78fa
pop ecx
test eax, eax
je 0x57848f
push 0x4b45a4
push 0x84
push 0
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.00605358
cmp dword [0x4cd915], 0
je 0x5784b0
push 0x4b45b8
push 0x85
push 0
mov eax, dword [ebp - 0xc0]
push eax
call fcn.00605358
cmp dword [0x4cd915], 1
je 0x5784da
call fcn.005e78de
test eax, eax
je 0x5784da
push 0x4b45ca
push 0x86
push 0
mov edx, dword [ebp - 0xc0]
push edx
call fcn.00605358
cmp dword [0x4cd915], 2
je 0x578503
call fcn.005e1a02
dec eax
jle 0x578503
push 0x4b45dd
push 0x87
push 0
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.00605358
push 0x4b45f1
push 0x88
push 0
mov eax, dword [ebp - 0xc0]
push eax
call fcn.00605358
push 0x4b3899
push 0
push 0x800
mov edx, dword [ebp - 0xc0]
push edx
call fcn.00605358
cmp dword [0x4cda3d], 0
je 0x578554
push 0x4b4602
push 0x89
push 0
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.00605358
mov eax, dword [0x4cda3d]
cmp eax, dword [0x4cda2d]
je 0x578579
push 0x4b4613
push 0x8a
push 0
mov edx, dword [ebp - 0xc0]
push edx
call fcn.00605358
push 0x4b3899
push 0
push 0x800
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.00605358
xor ebx, ebx
jmp 0x5785fc
lea eax, [ebx + ebx*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*8]
add eax, dword [0x4d7218]
cmp esi, eax
je 0x5785fb
lea edx, [ebx + ebx*4]
lea edx, [edx + edx*4]
lea edx, [edx + edx*4]
lea edx, [edx + edx*8]
add edx, dword [0x4d7218]
add edx, 0x48
push edx
push 8
push 0x4b4624
lea ecx, [ebp - 0x10ec]
push ecx
call fcn.005fcc36
add esp, 0x10
mov edx, dword [0x4d7d98]
add edx, ebx
lea eax, [ebp - 0x10ec]
push eax
add edx, 0x300
push edx
push 0
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.00605358
inc ebx
cmp ebx, dword [0x4d7200]
jl 0x578595
push 0x4b4632
mov eax, dword [ebp - 0xc0]
push eax
push 0x10
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
test esi, esi
je 0x57869f
cmp dword [ebp - 0x30], 0
jne 0x57869f
call fcn.006053a0
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x57869f
push 0x4b4290
push 0x8c
push 0
mov edx, dword [ebp - 0xc4]
push edx
call fcn.00605358
cmp dword [0x4cda4d], 0
je 0x578685
mov ecx, dword [0x4cda1d]
cmp ecx, dword [esi + 0xc]
jne 0x578685
mov eax, dword [0x4cda21]
cmp eax, dword [esi + 0x10]
jne 0x578685
push 0x4b4637
push 0x8d
push 0
mov edx, dword [ebp - 0xc4]
push edx
call fcn.00605358
push 0x4b4649
mov ecx, dword [ebp - 0xc4]
push ecx
push 0x10
mov eax, dword [ebp - 0x90]
push eax
call fcn.00605358
cmp dword [0x4cda21], 0
jbe 0x578a7b
cmp dword [ebp - 0x30], 0
jne 0x578a7b
call fcn.006053a0
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x578a7b
xor edx, edx
test esi, esi
mov dword [ebp - 0x24], edx
je 0x578703
mov ecx, dword [0x4cda1d]
cmp ecx, dword [esi + 0xc]
jb 0x578703
mov eax, dword [esi + 0xc]
add eax, dword [esi + 0x10]
cmp eax, dword [0x4cda1d]
jbe 0x578703
push 0x4b465c
push 0x8e
push 0
mov edx, dword [ebp - 0xc8]
push edx
call fcn.00605358
test esi, esi
je 0x578725
cmp dword [ebp - 0x78], 0
je 0x578725
push 0x4b4671
push 0x8f
push 0
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00605358
push 0x4b468d
push 0x91
push 0
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00605358
test esi, esi
je 0x578759
push 0x4b46a7
push 0x92
push 0
mov edx, dword [ebp - 0xc8]
push edx
call fcn.00605358
cmp dword [ebp - 0x5c], 0
jbe 0x5787c9
cmp dword [ebp - 0x78], 0
je 0x5787c9
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
and eax, 0x1f
cmp eax, 0x1d
je 0x578792
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
and ecx, 0x1f
cmp ecx, 0x1e
je 0x578792
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
and edx, 0x1f
cmp edx, 0x1f
jne 0x5787c9
push 0x4b3899
push 0
push 0x800
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00605358
mov dword [ebp - 0x24], 1
push 0x4b46c6
push 0x93
push 0
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00605358
test esi, esi
je 0x57883f
cmp dword [ebp - 0x78], 0
je 0x57883f
mov edx, dword [0x4cda2d]
cmp edx, dword [0x4cda31]
jae 0x57883f
mov ecx, dword [0x4cda2d]
cmp ecx, dword [0x4cda1d]
jb 0x57883f
mov eax, dword [0x4cda1d]
add eax, dword [0x4cda21]
cmp eax, dword [0x4cda31]
jb 0x57883f
cmp dword [ebp - 0x24], 0
jne 0x578820
push 0x4b3899
push 0
push 0x800
mov edx, dword [ebp - 0xc8]
push edx
call fcn.00605358
push 0x4b46d7
push 0x90
push 0
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.00605358
mov dword [ebp - 0x24], 1
test esi, esi
je 0x578a61
mov eax, dword [0x4cda2d]
cmp eax, dword [0x4cda31]
jae 0x578a61
mov edx, dword [0x4cda2d]
cmp edx, dword [0x4cda1d]
jb 0x578a61
mov ecx, dword [0x4cda1d]
add ecx, dword [0x4cda21]
cmp ecx, dword [0x4cda31]
jb 0x578a61
call fcn.006053a0
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x578a61
cmp dword [ebp - 0x24], 0
jne 0x5788b3
push 0x4b3899
push 0
push 0x800
mov edx, dword [ebp - 0xc8]
push edx
call fcn.00605358
push 0x4b46fc
push 0x97
push 0
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00605358
push 0x4b4704
push 0x98
push 0
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00605358
push 0x4b4709
push 0x99
push 0
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00605358
push 0x4b470e
push 0x9a
push 0
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00605358
push 0x4b3899
push 0
push 0x800
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00605358
push 0x4b4719
push 0x9b
push 0
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00605358
push 0x4b4722
push 0x9c
push 0
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00605358
push 0x4b4728
push 0x9d
push 0
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00605358
push 0x4b472e
push 0x9e
push 0
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00605358
push 0x4b473a
push 0x9f
push 0
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.00605358
push 0x4b4745
push 0xa0
push 0
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00605358
mov edx, dword [0x4cda1d]
mov ecx, dword [0x4cda1d]
add edx, dword [0x4cda21]
push edx
push ecx
push 0x4d9034
call fcn.005ab572
add esp, 0xc
test eax, eax
je 0x578a47
push 0x4b3899
push 0
push 0x800
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00605358
mov edx, dword [0x4cda31]
mov ecx, dword [0x4cda2d]
push edx
push ecx
push 0x4d9034
call fcn.005ab572
add esp, 0xc
test eax, eax
je 0x578a2f
push 0x4b4752
push 0xa1
push 0
mov eax, dword [ebp - 0xcc]
push eax
call fcn.00605358
push 0x4b4769
push 0xa2
push 0
mov edx, dword [ebp - 0xcc]
push edx
call fcn.00605358
push 0x4b477a
mov ecx, dword [ebp - 0xcc]
push ecx
push 0x10
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00605358
push 0x4b47a3
mov edx, dword [ebp - 0xc8]
push edx
push 0x10
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00605358
cmp dword [ebp - 0x5c], 0
jbe 0x578c1d
cmp byte [0x4dcb44], 0
je 0x578c1d
cmp dword [0x4cda21], 0
jbe 0x578c1d
mov eax, dword [0x4cda2d]
cmp eax, dword [0x4cda31]
jae 0x578c1d
mov edx, dword [0x4cda2d]
cmp edx, dword [0x4cda1d]
jb 0x578c1d
mov ecx, dword [0x4cda1d]
add ecx, dword [0x4cda21]
cmp ecx, dword [0x4cda31]
jb 0x578c1d
cmp dword [ebp - 0x30], 0
jne 0x578c1d
lea eax, [ebp - 0x12fc]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.005610b2
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x578b25
cmp dword [ebp - 0x1648], 0
je 0x578b25
lea ecx, [ebp - 0x12fc]
push ecx
mov eax, dword [ebp - 0x1648]
push eax
call fcn.005610b2
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x578b4d
cmp dword [ebp - 0x162c], 0
je 0x578b4d
lea edx, [ebp - 0x12fc]
push edx
mov ecx, dword [ebp - 0x162c]
push ecx
call fcn.005610b2
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x578b75
cmp dword [ebp - 0x1640], 0
je 0x578b75
lea eax, [ebp - 0x12fc]
push eax
mov edx, dword [ebp - 0x1640]
push edx
call fcn.005610b2
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x578b9d
cmp dword [ebp - 0x1604], 0
je 0x578b9d
lea ecx, [ebp - 0x12fc]
push ecx
mov eax, dword [ebp - 0x1604]
push eax
call fcn.005610b2
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jle 0x578c1d
cmp dword [ebp - 0xc], 2
jle 0x578c05
mov edx, dword [ebp - 0xc]
xor ecx, ecx
mov cl, byte [ebp + edx - 0x12fe]
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0xd8]
push eax
call fcn.005ff87e
pop ecx
mov edx, dword [ebp - 0xc]
xor ecx, ecx
mov cl, byte [ebp + edx - 0x12fe]
cmp eax, ecx
jne 0x578c05
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dl, byte [ebp + eax - 0x12fd]
cmp edx, 0x41
je 0x578bfa
mov ecx, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp + ecx - 0x12fd]
cmp eax, 0x57
jne 0x578c05
mov edx, dword [ebp - 0xc]
mov byte [ebp + edx - 0x12fd], 0
push 0x4b47ac
push 0xab
push 0
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00605358
push 0x4cd6a8
push 0x1f
mov eax, dword [ebp - 0x90]
push eax
call fcn.005ec4f2
add esp, 0xc
mov edx, dword [ebp - 0x90]
push edx
push 0
push 0x465
mov ecx, dword [ebp + 8]
push ecx
push 0x4cd6a8
call fcn.005ae366
add esp, 0x14
mov ebx, eax
call fcn.005ec5a6
cmp dword [ebp - 0x94], 0
je 0x578c6e
mov eax, dword [ebp - 0x94]
push eax
call fcn.006053c4
cmp dword [ebp - 0x98], 0
je 0x578c83
mov edx, dword [ebp - 0x98]
push edx
call fcn.006053c4
cmp dword [ebp - 0x9c], 0
je 0x578c98
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.006053c4
cmp dword [ebp - 0xa0], 0
je 0x578cad
mov eax, dword [ebp - 0xa0]
push eax
call fcn.006053c4
cmp dword [ebp - 0xa4], 0
je 0x578cc2
mov edx, dword [ebp - 0xa4]
push edx
call fcn.006053c4
cmp dword [ebp - 0xa8], 0
je 0x578cd7
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.006053c4
cmp dword [ebp - 0xac], 0
je 0x578cec
mov eax, dword [ebp - 0xa8]
push eax
call fcn.006053c4
cmp dword [ebp - 0xb0], 0
je 0x578d01
mov edx, dword [ebp - 0xb0]
push edx
call fcn.006053c4
cmp dword [ebp - 0xb4], 0
je 0x578d16
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.006053c4
cmp dword [ebp - 0xb8], 0
je 0x578d2b
mov eax, dword [ebp - 0xb8]
push eax
call fcn.006053c4
cmp dword [ebp - 0xbc], 0
je 0x578d40
mov edx, dword [ebp - 0xbc]
push edx
call fcn.006053c4
cmp dword [ebp - 0xc0], 0
je 0x578d55
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.006053c4
cmp dword [ebp - 0xc4], 0
je 0x578d6a
mov eax, dword [ebp - 0xc4]
push eax
call fcn.006053c4
cmp dword [ebp - 0xcc], 0
je 0x578d7f
mov edx, dword [ebp - 0xcc]
push edx
call fcn.006053c4
cmp dword [ebp - 0xc8], 0
je 0x578d94
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.006053c4
mov eax, dword [ebp - 0x90]
push eax
call fcn.006053c4
cmp ebx, 0x2df
jle 0x578dbe
cmp ebx, 0x2ff
jg 0x578dbe
push ebx
call fcn.005717ea
pop ecx
xor eax, eax
jmp 0x57be41
mov edx, dword [ebp + 8]
push edx
call fcn.006055fe
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x10]
push eax
push 3
push 0x4cd6a8
call fcn.0059d5a2
add esp, 0x10
cmp ebx, 2
jne 0x578df7
push 3
push 0x4cd6a8
call fcn.005a2f5e
add esp, 8
jmp 0x57bde6
cmp ebx, 3
jne 0x578e10
push 2
push 0x4cd6a8
call fcn.005a2f5e
add esp, 8
jmp 0x57bde6
cmp ebx, 4
jne 0x578e29
push 1
push 0x4cd6a8
call fcn.005a2f5e
add esp, 8
jmp 0x57bde6
cmp ebx, 5
jne 0x578e57
push 7
push 0x4cd6a8
call fcn.005a2f5e
add esp, 8
cmp dword [0x4deb80], 9
jne 0x57bde6
xor edx, edx
mov dword [0x4deb80], edx
jmp 0x57bde6
cmp ebx, 6
jne 0x578e70
push 4
push 0x4cd6a8
call fcn.005a2f5e
add esp, 8
jmp 0x57bde6
cmp ebx, 7
jne 0x578e89
push 6
push 0x4cd6a8
call fcn.005a2f5e
add esp, 8
jmp 0x57bde6
cmp ebx, 8
jne 0x578ea2
push 5
push 0x4cd6a8
call fcn.005a2f5e
add esp, 8
jmp 0x57bde6
cmp ebx, 0xa
jne 0x578eca
mov ecx, dword [0x4cda31]
push ecx
mov eax, dword [0x4cda2d]
push eax
push 0x4cd6a8
mov edx, dword [ebp + 8]
push edx
call fcn.005a0e66
add esp, 0x10
jmp 0x57bde6
cmp ebx, 0xb
jne 0x578eee
mov ecx, dword [0x4cda31]
mov eax, dword [0x4cda2d]
push ecx
push eax
push 0x4cd6a8
call fcn.005a0ebe
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0xc
jne 0x578f16
mov edx, dword [0x4cda1d]
mov dword [0x4cda2d], edx
mov ecx, dword [0x4cda1d]
add ecx, dword [0x4cda21]
mov dword [0x4cda31], ecx
jmp 0x57bde6
cmp ebx, 0xd
jne 0x578f38
push 0x4cda31
push 0x4cda2d
mov eax, dword [0x4cda2d]
push eax
call fcn.00574562
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x10
jne 0x57909e
mov edx, dword [0x4cda2d]
mov dword [ebp - 0x3c], edx
mov ecx, dword [0x4cda31]
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x54], 0x100
jbe 0x578f66
mov dword [ebp - 0x54], 0x100
push 1
mov eax, dword [ebp - 0x54]
push eax
mov edx, dword [ebp - 0x3c]
push edx
lea ecx, [ebp - 0x27bc]
push ecx
call fcn.005b7316
add esp, 0x10
cmp eax, dword [ebp - 0x54]
jne 0x57be2c
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x26bc]
push eax
push 0xff
push edx
call fcn.005f95aa
add esp, 0xc
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x27c0], ecx
lea edx, [ebp - 0x10ec]
mov eax, dword [ebp - 0x3c]
push eax
push 0x4b3be3
push edx
call fcn.005fcc36
add esp, 0xc
xor edi, edi
cmp dword [ebp - 0x78], 0
je 0x578fee
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
and edx, 0x1f
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0xb
jne 0x578fe3
mov edi, 0x10
jmp 0x578fee
cmp dword [ebp - 8], 0xc
jne 0x578fee
mov edi, 0x20
mov eax, dword [ebp - 0x14]
mov ecx, dword [0x4cd8e1]
push eax
lea eax, [ebp - 0x27c0]
mov edx, dword [ebp - 0x10]
push edx
push 0
push ecx
push edi
push eax
lea edx, [ebp - 0x10ec]
push edx
call fcn.005963e2
add esp, 0x1c
test eax, eax
jne 0x57be2c
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.005b7a52
pop ecx
test eax, eax
je 0x579056
cmp dword [eax + 0x24], 0
jne 0x579056
mov edx, dword [eax]
cmp edx, dword [0x4cda1d]
jne 0x579056
mov eax, dword [eax + 4]
cmp eax, dword [0x4cda21]
jne 0x579056
push 1
push 0x4cd6a8
call fcn.005a2f5e
add esp, 8
push 5
mov ecx, dword [ebp - 0x27c0]
push ecx
mov eax, dword [ebp - 0x3c]
push eax
lea edx, [ebp - 0x27bc]
push edx
call fcn.005b7732
add esp, 0x10
mov ecx, dword [0x4cda2d]
mov eax, dword [0x4cda21]
mov edx, dword [0x4cda1d]
push 1
push 1
push ecx
push eax
push edx
push 0
call fcn.005d4b16
add esp, 0x18
mov dword [0x4cda31], eax
jmp 0x57bde6
cmp ebx, 0x11
je 0x5790ac
cmp ebx, 0x12
jne 0x57915b
mov ecx, dword [0x4cda2d]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
push eax
call fcn.005b7a52
pop ecx
test eax, eax
je 0x5790ed
cmp dword [eax + 0x24], 0
jne 0x5790ed
mov edx, dword [eax]
cmp edx, dword [0x4cda1d]
jne 0x5790ed
mov ecx, dword [eax + 4]
cmp ecx, dword [0x4cda21]
jne 0x5790ed
push 1
push 0x4cd6a8
call fcn.005a2f5e
add esp, 8
push 0x1000
xor eax, eax
cmp ebx, 0x11
je 0x5790fe
add eax, 0x90
push eax
lea edx, [ebp - 0x10ec]
push edx
call fcn.005f95aa
add esp, 0xc
jmp 0x57914b
mov ecx, dword [0x4cda31]
sub ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x54], 0x1000
jbe 0x57912c
mov dword [ebp - 0x54], 0x1000
push 5
mov eax, dword [ebp - 0x54]
push eax
mov edx, dword [ebp - 0x3c]
push edx
lea ecx, [ebp - 0x10ec]
push ecx
call fcn.005b7732
add esp, 0x10
mov eax, dword [ebp - 0x54]
add dword [ebp - 0x3c], eax
mov edx, dword [0x4cda31]
cmp edx, dword [ebp - 0x3c]
ja 0x579110
jmp 0x57bde6
cmp ebx, 0x13
jne 0x5791e6
lea edi, [ebp - 0x2c44]
mov esi, 0x4cd6a8
mov ecx, 0xf3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x29ef], 0x1201
mov eax, dword [ebp - 0x28bf]
xor edx, edx
mov dword [ebp - 0x28c7], eax
mov dword [ebp - 0x2b00], edx
mov ecx, dword [ebp - 0x2a0b]
mov eax, dword [ecx*4 + 0x4d48f4]
shl eax, 5
xor edx, edx
lea eax, [eax + eax*2]
mov dword [ebp - 0x2afc], eax
mov dword [ebp - 0x2af8], edx
mov dword [ebp - 0x2b08], 3
mov ecx, dword [ebp - 0x28bb]
lea edx, [ebp - 0x2c44]
push ecx
mov eax, dword [ebp - 0x28bf]
push eax
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.005a0e66
add esp, 0x10
jmp 0x57bde6
cmp ebx, 0x14
jne 0x5793c4
mov eax, dword [ebp + 8]
push eax
call fcn.00605532
push 1
call fcn.0060543c
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x5793ba
mov edx, dword [ebp - 0xd0]
push edx
call fcn.00605106
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x5793ae
mov ecx, dword [0x4cda2d]
mov dword [ebp - 0x3c], ecx
mov eax, dword [0x4cda31]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x3c]
push edx
call fcn.005b7a52
pop ecx
test eax, eax
je 0x57939c
cmp dword [eax + 0x24], 0
jne 0x57939c
mov ecx, dword [eax]
cmp ecx, dword [0x4cda1d]
jne 0x57939c
mov eax, dword [eax + 4]
cmp eax, dword [0x4cda21]
jne 0x57939c
push 1
push 0x4cd6a8
call fcn.005a2f5e
add esp, 8
jmp 0x57939c
xor edx, edx
mov dword [ebp - 0xc], edx
jmp 0x579354
mov ecx, dword [ebp - 0x7c]
movzx esi, byte [ecx]
inc dword [ebp - 0x7c]
push esi
call fcn.005ff8d2
pop ecx
mov edi, eax
push edi
call fcn.005fdbc6
pop ecx
test eax, eax
je 0x5792c2
mov ebx, edi
shl ebx, 4
add ebx, 0xfffffd00
jmp 0x5792e2
push edi
call fcn.005fdc5a
pop ecx
test eax, eax
je 0x5792da
mov ebx, edi
shl ebx, 4
add ebx, 0xfffffc90
jmp 0x5792e2
mov eax, dword [ebp - 0x7c]
cmp byte [eax], 0
jne 0x579298
mov edx, dword [ebp - 0xc]
lea ecx, [ebp + edx - 0x10ec]
mov dword [ebp - 0xec], ecx
jmp 0x57934c
mov eax, dword [ebp - 0x7c]
movzx esi, byte [eax]
inc dword [ebp - 0x7c]
push esi
call fcn.005ff8d2
pop ecx
mov edi, eax
push edi
call fcn.005fdbc6
pop ecx
test eax, eax
je 0x579329
mov eax, dword [ebp - 0xec]
add edi, 0xffffffd0
add ebx, edi
mov byte [eax], bl
inc dword [ebp - 0xc]
inc dword [ebp - 0xec]
jmp 0x579354
push edi
call fcn.005fdc5a
pop ecx
test eax, eax
je 0x57934c
mov eax, dword [ebp - 0xec]
add edi, 0xffffffc9
add ebx, edi
mov byte [eax], bl
inc dword [ebp - 0xc]
inc dword [ebp - 0xec]
jmp 0x579354
mov edx, dword [ebp - 0x7c]
cmp byte [edx], 0
jne 0x5792f4
cmp dword [ebp - 0xc], 0x1000
jge 0x579369
mov ecx, dword [ebp - 0x7c]
cmp byte [ecx], 0
jne 0x5792da
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x54]
jbe 0x579377
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xc], edx
push 5
mov ecx, dword [ebp - 0xc]
push ecx
mov eax, dword [ebp - 0x3c]
push eax
lea edx, [ebp - 0x10ec]
push edx
call fcn.005b7732
add esp, 0x10
mov ecx, dword [ebp - 0xc]
add dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0xc]
sub dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jbe 0x5793ae
mov edx, dword [ebp - 0x7c]
cmp byte [edx], 0
jne 0x57928c
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.0060511e
call fcn.00605382
jmp 0x57bde6
cmp ebx, 0x15
jne 0x579465
lea edi, [ebp - 0x3014]
mov esi, 0x4cd6a8
mov ecx, 0xf3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x2dbf], 0x1201
mov eax, dword [ebp - 0x2c8f]
xor edx, edx
mov dword [ebp - 0x2c97], eax
mov dword [ebp - 0x2ed0], edx
mov ecx, dword [ebp - 0x2ddb]
mov edi, dword [0x4e2750]
mov eax, dword [ecx*4 + 0x4d48f4]
lea ecx, [ebp - 0x3014]
shl eax, 5
xor edx, edx
mov dword [0x4e2750], 2
lea eax, [eax + eax*2]
mov dword [ebp - 0x2ecc], eax
mov dword [ebp - 0x2ec8], edx
mov dword [ebp - 0x2ed8], 3
mov eax, dword [ebp - 0x2c8b]
push eax
mov edx, dword [ebp - 0x2c8f]
push edx
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.005a0e66
add esp, 0x10
mov dword [0x4e2750], edi
jmp 0x57bde6
cmp ebx, 0x18
jne 0x57970d
mov edx, dword [0x4cda2d]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x78]
movzx edi, byte [ecx]
and edi, 0x1f
cmp edi, 1
je 0x57948a
cmp edi, 0x11
jne 0x579493
mov dword [ebp - 0x54], 1
jmp 0x5794e1
cmp edi, 2
jne 0x5794a1
mov dword [ebp - 0x54], 2
jmp 0x5794e1
cmp edi, 4
je 0x5794ab
cmp edi, 5
jne 0x5794b4
mov dword [ebp - 0x54], 4
jmp 0x5794e1
cmp edi, 7
je 0x5794c3
cmp edi, 8
je 0x5794c3
cmp edi, 0xd
jne 0x5794cc
mov dword [ebp - 0x54], 8
jmp 0x5794e1
cmp edi, 9
jne 0x5794da
mov dword [ebp - 0x54], 0xa
jmp 0x5794e1
mov dword [ebp - 0x54], 0x10
push 0x10
push 0
lea eax, [ebp - 0x11fc]
push eax
call fcn.005f95aa
add esp, 0xc
push 1
mov edx, dword [ebp - 0x54]
push edx
mov ecx, dword [ebp - 0x3c]
push ecx
lea eax, [ebp - 0x11fc]
push eax
call fcn.005b7316
add esp, 0x10
cmp eax, dword [ebp - 0x54]
jne 0x57be2c
cmp edi, 1
je 0x57952a
cmp edi, 0x11
je 0x57952a
cmp edi, 2
je 0x57952a
cmp edi, 4
jne 0x579592
mov edx, dword [ebp - 0x3c]
cmp edi, 1
push edx
je 0x579538
cmp edi, 0x11
jne 0x57953f
mov ecx, 0x4b3d68
jmp 0x579550
cmp edi, 2
jne 0x57954b
mov ecx, 0x4b4714
jmp 0x579550
mov ecx, 0x4b47dc
push ecx
push 0x4b47ca
lea eax, [ebp - 0x10ec]
push eax
call fcn.005fcc36
add esp, 0x10
mov edx, dword [ebp - 0x14]
lea ecx, [ebp - 0x11fc]
push edx
mov eax, dword [ebp - 0x10]
push eax
push 0
push 0
lea eax, [ebp - 0x10ec]
mov edx, dword [ebp - 0x54]
push edx
push ecx
push eax
call fcn.0059309a
add esp, 0x1c
mov edi, eax
jmp 0x5796af
cmp edi, 5
je 0x5795a1
cmp edi, 7
je 0x5795a1
cmp edi, 9
jne 0x5795e6
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x10ec]
push eax
push 0x4b47e2
push edx
call fcn.005fcc36
add esp, 0xc
mov ecx, dword [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x11fc]
mov eax, dword [ebp - 0x10]
push eax
push 0
push 0
lea eax, [ebp - 0x10ec]
mov edx, dword [ebp - 0x54]
push edx
push ecx
push eax
call fcn.005937b2
add esp, 0x1c
mov edi, eax
jmp 0x5796af
cmp edi, 8
jne 0x57962a
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x10ec]
push eax
push 0x4b47f7
push edx
call fcn.005fcc36
add esp, 0xc
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x11fc]
push ecx
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x10ec]
push eax
push 0
push edx
push ecx
call fcn.00596ffe
add esp, 0x14
mov edi, eax
jmp 0x5796af
cmp edi, 0xd
jne 0x57966b
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x10ec]
push eax
push 0x4b480f
push edx
call fcn.005fcc36
add esp, 0xc
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x11fc]
push ecx
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x10ec]
push eax
push 0
push edx
push ecx
call fcn.0059721a
add esp, 0x14
mov edi, eax
jmp 0x5796af
cmp edi, 0xe
jne 0x5796ac
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x10ec]
push eax
push 0x4b482a
push edx
call fcn.005fcc36
add esp, 0xc
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x11fc]
push ecx
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x10ec]
push eax
push 0
push edx
push ecx
call fcn.00597482
add esp, 0x14
mov edi, eax
jmp 0x5796af
or edi, 0xffffffff
test edi, edi
jne 0x57bde6
mov eax, dword [ebp - 0x3c]
push eax
call fcn.005b7a52
pop ecx
test eax, eax
je 0x5796ef
cmp dword [eax + 0x24], 0
jne 0x5796ef
mov edx, dword [eax]
cmp edx, dword [0x4cda1d]
jne 0x5796ef
mov ecx, dword [eax + 4]
cmp ecx, dword [0x4cda21]
jne 0x5796ef
push 1
push 0x4cd6a8
call fcn.005a2f5e
add esp, 8
push 1
mov eax, dword [ebp - 0x54]
push eax
mov edx, dword [ebp - 0x3c]
push edx
lea ecx, [ebp - 0x11fc]
push ecx
call fcn.005b7732
add esp, 0x10
jmp 0x57bde6
cmp ebx, 0x19
jne 0x579747
mov eax, dword [0x4cda31]
mov ecx, dword [0x4cda4d]
sub eax, dword [0x4cda2d]
add ecx, dword [0x4cda2d]
push 5
push eax
sub ecx, dword [0x4cda1d]
mov edx, dword [0x4cda2d]
push edx
push ecx
call fcn.005b7732
add esp, 0x10
jmp 0x57bde6
cmp ebx, 0x1a
jne 0x57976d
mov dword [0x4e2734], 1
mov eax, dword [ebp - 0x14]
push eax
mov edx, dword [ebp - 0x10]
push edx
push 0
call fcn.00571a2e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x1b
jne 0x579793
mov eax, dword [ebp - 0x14]
xor ecx, ecx
push eax
mov dword [0x4e2734], ecx
mov edx, dword [ebp - 0x10]
push edx
push 0
push 0x31
call fcn.005718f2
add esp, 0x10
jmp 0x57bde6
cmp ebx, 0x1c
jne 0x5797bb
mov dword [0x4e2734], 2
mov ecx, dword [ebp - 0x14]
push ecx
mov eax, dword [ebp - 0x10]
push eax
push 0
push 0x36
call fcn.005718f2
add esp, 0x10
jmp 0x57bde6
cmp ebx, 0x1e
jne 0x5797e8
mov edx, dword [ebp - 0x14]
mov eax, dword [0x4cd8e1]
push edx
mov edx, dword [0x4cda2d]
mov ecx, dword [ebp - 0x10]
push ecx
push eax
push 0
push 0
push 0x71
push edx
call fcn.0056f97e
add esp, 0x1c
jmp 0x57bde6
cmp ebx, 0x1f
jne 0x579816
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x4cd8e1]
push ecx
mov ecx, dword [0x4cda2d]
mov eax, dword [ebp - 0x10]
push eax
push edx
push 0
push 1
push 0x71
push ecx
call fcn.0056f97e
add esp, 0x1c
jmp 0x57bde6
cmp ebx, 0x20
jne 0x579843
mov eax, dword [ebp - 0x14]
mov ecx, dword [0x4cd8e1]
push eax
mov eax, dword [0x4cda2d]
mov edx, dword [ebp - 0x10]
push edx
push ecx
push 0
push 1
push 0x73
push eax
call fcn.0056f97e
add esp, 0x1c
jmp 0x57bde6
cmp ebx, 0x21
jne 0x5798bc
cmp dword [ebp - 0x80], 0
je 0x57988d
mov edx, dword [ebp - 0x80]
cmp dword [edx + 0x482], 0
je 0x57988d
mov ecx, dword [ebp - 0x80]
mov eax, dword [ecx + 0x318]
cmp eax, dword [0x4cda2d]
jne 0x57988d
push 3
push 4
mov edx, dword [ebp - 0x80]
mov ecx, dword [edx + 0x308]
add ecx, 4
push ecx
lea eax, [ebp - 0x3c]
push eax
call fcn.005b7316
add esp, 0x10
cmp eax, 4
je 0x579892
xor edx, edx
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x4cd8e1]
push ecx
mov eax, dword [ebp - 0x10]
push eax
push edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [0x4cda2d]
push ecx
push 0
push 0xffffffffffffffff
push eax
call fcn.0056f97e
add esp, 0x1c
jmp 0x57bde6
cmp ebx, 0x22
jne 0x5798dd
push 1
push 0
push 1
mov edx, dword [0x4cda2d]
push edx
push 0
call fcn.0058aa1e
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x23
jne 0x579904
mov ecx, dword [0x4cda31]
mov eax, dword [0x4cda2d]
sub ecx, dword [0x4cda2d]
push ecx
push eax
push 3
call fcn.0056f2e2
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x24
jne 0x57992c
mov edx, dword [0x4cda31]
mov ecx, dword [0x4cda2d]
sub edx, dword [0x4cda2d]
push edx
push ecx
push 2
call fcn.0056f2e2
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x25
jne 0x579944
push 0
push 0
push 0
call fcn.0056f2e2
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x26
jne 0x579960
push 1
push 1
mov eax, dword [0x4cda2d]
push eax
call fcn.0055e69a
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x27
jne 0x579974
mov edx, dword [ebp - 0x38]
push edx
call fcn.0055e9f6
pop ecx
jmp 0x57bde6
cmp ebx, 0x28
jne 0x57998a
mov ecx, dword [0x4cda2d]
mov dword [esi + 0x3e1], ecx
jmp 0x57bde6
cmp ebx, 0x29
jne 0x5799ab
push 1
mov eax, dword [0x4cda31]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.00570c3e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x2a
jne 0x5799de
lea ecx, [ebp - 0x40]
push ecx
lea eax, [ebp - 0x3c]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.00574562
add esp, 0xc
push 1
mov ecx, dword [ebp - 0x40]
push ecx
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00570c3e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x2b
jne 0x5799fd
push 2
mov edx, dword [esi + 0xc]
add edx, dword [esi + 0x10]
push edx
mov ecx, dword [esi + 0xc]
push ecx
call fcn.00570c3e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x2c
jne 0x579a1e
push 4
mov eax, dword [0x4cda31]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.00570c3e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x2d
jne 0x579a44
push esi
call fcn.00571502
pop ecx
cmp dword [0x4deb80], 0xa
jne 0x57bde6
xor ecx, ecx
mov dword [0x4deb80], ecx
jmp 0x57bde6
cmp ebx, 0x2e
jne 0x579a65
push 3
mov eax, dword [0x4cda31]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.00570c3e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x2f
jne 0x579a84
push 3
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 0x10]
push ecx
mov eax, dword [esi + 0xc]
push eax
call fcn.00570c3e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x33
jne 0x579af0
call fcn.005e1a02
test eax, eax
jne 0x579ad3
mov edx, dword [0x4cd8f9]
push edx
call fcn.005ce982
pop ecx
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x57be2c
mov ecx, dword [ebp - 0x80]
cmp dword [ecx + 0x482], 0
je 0x57be2c
mov eax, dword [ebp - 0x80]
add eax, 0x2ec
push eax
call fcn.005e1876
pop ecx
test eax, eax
jne 0x57be2c
push 7
mov edx, dword [0x4cda31]
push edx
mov ecx, dword [0x4cda2d]
push ecx
call fcn.00570c3e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x34
jne 0x579b6d
call fcn.005e1a02
test eax, eax
jne 0x579b3f
mov eax, dword [0x4cd8f9]
push eax
call fcn.005ce982
pop ecx
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x57be2c
mov edx, dword [ebp - 0x80]
cmp dword [edx + 0x482], 0
je 0x57be2c
mov ecx, dword [ebp - 0x80]
add ecx, 0x2ec
push ecx
call fcn.005e1876
pop ecx
test eax, eax
jne 0x57be2c
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x3c]
push edx
mov ecx, dword [0x4cda2d]
push ecx
call fcn.00574562
add esp, 0xc
push 7
mov eax, dword [ebp - 0x40]
push eax
mov edx, dword [ebp - 0x3c]
push edx
call fcn.00570c3e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x35
jne 0x579beb
call fcn.005e1a02
test eax, eax
jne 0x579bbd
mov ecx, dword [0x4cd8f9]
push ecx
call fcn.005ce982
pop ecx
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x57be2c
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x482], 0
je 0x57be2c
mov edx, dword [ebp - 0x80]
add edx, 0x2ec
push edx
call fcn.005e1876
pop ecx
test eax, eax
jne 0x57be2c
lea ecx, [ebp - 0x40]
push ecx
lea eax, [ebp - 0x3c]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.00574562
add esp, 0xc
push 8
mov ecx, dword [ebp - 0x40]
push ecx
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00570c3e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x36
jne 0x579c5d
call fcn.005e1a02
test eax, eax
jne 0x579c3a
mov edx, dword [0x4cd8f9]
push edx
call fcn.005ce982
pop ecx
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x57be2c
mov ecx, dword [ebp - 0x80]
cmp dword [ecx + 0x482], 0
je 0x57be2c
mov eax, dword [ebp - 0x80]
add eax, 0x2ec
push eax
call fcn.005e1876
pop ecx
test eax, eax
jne 0x57be2c
push 9
mov edx, dword [0x4cda1d]
add edx, dword [0x4cda21]
push edx
mov ecx, dword [0x4cda1d]
push ecx
call fcn.00570c3e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x37
jne 0x579c7e
push 0xb
mov eax, dword [0x4cda31]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.00570c3e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x38
jne 0x579c95
mov ecx, dword [0x4cd8e1]
push ecx
call fcn.0059acbe
pop ecx
jmp 0x57bde6
cmp ebx, 0x39
jne 0x579cae
mov eax, dword [esi + 4]
push eax
mov edx, dword [esi]
push edx
call fcn.005e472a
add esp, 8
jmp 0x57bde6
cmp ebx, 0x3a
jne 0x579cc4
push 0xffffffffffffffff
push 0
call fcn.005e472a
add esp, 8
jmp 0x57bde6
cmp ebx, 0x3b
jne 0x579ce5
push 0xa
mov ecx, dword [0x4cda31]
push ecx
mov eax, dword [0x4cda2d]
push eax
call fcn.00570c3e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x3c
jne 0x579d0d
push 0xa
mov edx, dword [0x4cda1d]
add edx, dword [0x4cda21]
push edx
mov ecx, dword [0x4cda1d]
push ecx
call fcn.00570c3e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x47
jne 0x579d2e
push 5
push 0
push 0
mov eax, dword [ebp - 0x162c]
push eax
push 0
call fcn.00583622
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x48
jne 0x579d4f
push 5
push 0
push 0
mov edx, dword [ebp - 0x163c]
push edx
push 0
call fcn.00583622
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x49
jne 0x579d70
push 5
push 0
push 0
mov ecx, dword [ebp - 0x163c]
push ecx
push 0
call fcn.00583622
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x4a
jne 0x579e9d
lea eax, [ebp - 0x60]
push eax
mov edx, dword [0x4cda2d]
push edx
call fcn.005b3f0a
add esp, 8
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
je 0x579df2
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
and eax, 0x1f
cmp eax, 0x1d
je 0x579df2
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
and ecx, 0x1f
cmp ecx, 0x1e
je 0x579df2
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
and edx, 0x1f
cmp edx, 0x1f
je 0x579df2
mov ecx, dword [ebp - 0x78]
cmp byte [ecx], 0
je 0x579df2
push 0x2024
push 0x4b3b02
push 0x4b3a46
mov eax, dword [0x4d3b7c]
push eax
call fcn.00605520
mov edi, eax
cmp edi, 6
je 0x579df2
xor eax, eax
jmp 0x57be41
test esi, esi
je 0x579e0f
mov edx, dword [0x4cda2d]
cmp edx, dword [esi + 0xc]
jb 0x579e0f
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 0x10]
cmp ecx, dword [0x4cda2d]
ja 0x579e37
push 0x2024
push 0x4b3b02
push 0x4b3b20
mov eax, dword [0x4d3b7c]
push eax
call fcn.00605520
mov edi, eax
cmp edi, 6
je 0x579e37
xor eax, eax
jmp 0x57be41
mov edx, dword [ebp - 0x80]
cmp dword [edx + 0x2f0], 0
jne 0x579e6b
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x80]
lea esi, [ecx + 0x2ec]
lea edi, [eax + 0x486]
mov ecx, 0x65
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebp - 0x80]
mov dword [eax + 0x2f0], 1
mov edx, dword [ebp - 0x80]
mov ecx, dword [0x4cda2d]
mov dword [edx + 0x318], ecx
mov eax, dword [ebp - 0x80]
mov dword [eax + 0x2ec], 1
push 0
push 0
push 0x476
call fcn.005b047e
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x4b
jne 0x579eb9
push 0
push 0x2a
push 0x102
mov edx, dword [ebp + 8]
push edx
call fcn.0057460e
jmp 0x57bde6
cmp ebx, 0x4c
jne 0x579ef7
push 0x204
mov ecx, dword [0x4cda51]
push 0
inc ecx
push 0
push ecx
push 0
call fcn.00583622
add esp, 0x14
cmp dword [0x4d57e4], 0
je 0x57bde6
mov eax, dword [0x4cda51]
push eax
call fcn.005e2192
pop ecx
jmp 0x57bde6
cmp ebx, 0x4d
jne 0x579f36
push 0x204
mov edx, dword [0x4cda51]
push 0
dec edx
push 0
push edx
push 0
call fcn.00583622
add esp, 0x14
cmp dword [0x4d57e4], 0
je 0x57bde6
mov ecx, dword [0x4cda51]
push ecx
call fcn.005e2192
pop ecx
jmp 0x57bde6
cmp ebx, 0x4e
jne 0x579f52
push 0
push 0x2d
push 0x102
mov eax, dword [ebp + 8]
push eax
call fcn.0057460e
jmp 0x57bde6
cmp ebx, 0x4f
jne 0x579f6e
push 0
push 0x2b
push 0x102
mov edx, dword [ebp + 8]
push edx
call fcn.0057460e
jmp 0x57bde6
cmp ebx, 0x51
jne 0x579fce
mov byte [ebp - 0x10ec], 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x4cd8e1]
push ecx
mov ecx, dword [0x4cd8f9]
mov eax, dword [ebp - 0x10]
push eax
push edx
push ecx
push 0x4b
lea eax, [ebp - 0x10ec]
push 0
push eax
push 0x4b3bf5
call fcn.005996f2
add esp, 0x20
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x57bde6
push 5
push 0
push 0
mov edx, dword [ebp - 0x3c]
push edx
push 0
call fcn.00583622
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x52
jne 0x57a006
mov ecx, dword [0x4cda2d]
push ecx
call fcn.005744b6
pop ecx
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x57bde6
push 5
push 0
push 0
mov eax, dword [ebp - 0x3c]
push eax
push 0
call fcn.00583622
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x53
jne 0x57a03e
mov edx, dword [0x4cda2d]
push edx
call fcn.0057451a
pop ecx
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x57bde6
push 5
push 0
push 0
mov ecx, dword [ebp - 0x3c]
push ecx
push 0
call fcn.00583622
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x54
jne 0x57a099
lea eax, [ebp - 0x6c]
push eax
xor edx, edx
cmp dword [0x4de6d8], 0
je 0x57a053
dec edx
push edx
call fcn.005c7616
add esp, 8
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x57bde6
push 4
push 0
push 0
mov ecx, dword [ebp - 0x3c]
push ecx
push 0
call fcn.00583622
add esp, 0x14
cmp dword [ebp - 0x6c], 1
jbe 0x57bde6
mov eax, dword [0x4cda2d]
add eax, dword [ebp - 0x6c]
mov dword [0x4cda31], eax
jmp 0x57bde6
cmp ebx, 0x55
jne 0x57a0e9
lea edx, [ebp - 0x6c]
push edx
push 1
call fcn.005c7616
add esp, 8
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x57bde6
push 4
push 0
push 0
mov ecx, dword [ebp - 0x3c]
push ecx
push 0
call fcn.00583622
add esp, 0x14
cmp dword [ebp - 0x6c], 1
jbe 0x57bde6
mov eax, dword [0x4cda2d]
add eax, dword [ebp - 0x6c]
mov dword [0x4cda31], eax
jmp 0x57bde6
cmp ebx, 0x56
jne 0x57a104
push 1
mov edx, dword [0x4cda2d]
push edx
call fcn.005eb55e
add esp, 8
jmp 0x57bde6
cmp ebx, 0x57
jne 0x57a127
push 5
push 0
push 0
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx]
push eax
push 0
call fcn.00583622
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x58
jne 0x57a14b
push 5
push 0
push 0
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 0x14]
push ecx
push 0
call fcn.00583622
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x59
jne 0x57a19d
mov eax, dword [ebp - 0x14]
mov ecx, dword [0x4cd8e1]
push eax
mov edx, dword [ebp - 0x10]
push edx
push ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [0x4cda2d]
mov edx, dword [eax]
push edx
push ecx
call fcn.0059bd86
add esp, 0x14
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x57bde6
push 5
push 0
push 0
mov eax, dword [ebp - 0x3c]
push eax
push 0
call fcn.00583622
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x5a
jne 0x57a1e5
mov edx, dword [ebp - 0x14]
mov eax, dword [0x4cd8e1]
push edx
mov edx, dword [0x4cda2d]
mov ecx, dword [ebp - 0x10]
push ecx
push eax
push edx
call fcn.0059c32a
add esp, 0x10
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x57bde6
push 5
push 0
push 0
mov ecx, dword [ebp - 0x3c]
push ecx
push 0
call fcn.00583622
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x5b
jne 0x57a1fb
mov eax, dword [0x4cda2d]
push eax
call fcn.005f7562
pop ecx
jmp 0x57bde6
cmp ebx, 0x5c
jne 0x57a23d
push pe_nt_image_headers32
push 0
mov edx, dword [0x4cda2d]
push edx
push 0
push 0
call fcn.00583622
add esp, 0x14
mov ecx, dword [0x4cda2d]
mov dword [0x4cddfa], ecx
mov eax, dword [0x4cda31]
push 1
mov dword [0x4cddfe], eax
call fcn.00571766
pop ecx
jmp 0x57bde6
cmp ebx, 0x5d
jne 0x57a261
push pe_nt_image_headers32
push 0
mov edx, dword [ebp - 0x1640]
push edx
push 0
push 0
call fcn.00583622
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x5e
jne 0x57a285
push pe_nt_image_headers32
push 0
mov ecx, dword [ebp - 0x163c]
push ecx
push 0
push 0
call fcn.00583622
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x5f
jne 0x57a2a9
push pe_nt_image_headers32
push 0
mov eax, dword [ebp - 0x15f8]
push eax
push 0
push 0
call fcn.00583622
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x60
jne 0x57a2cd
push pe_nt_image_headers32
push 0
mov edx, dword [ebp - 0x15f4]
push edx
push 0
push 0
call fcn.00583622
add esp, 0x14
jmp 0x57bde6
cmp ebx, 0x61
jne 0x57a312
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
and eax, 0x1f
cmp eax, 0x1f
jne 0x57a2f3
mov edx, dword [0x4cda2d]
push edx
call fcn.005d3572
pop ecx
mov dword [ebp - 0x3c], eax
jmp 0x57a303
mov ecx, dword [0x4cda2d]
push ecx
call fcn.005743e6
pop ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.005f2a62
pop ecx
jmp 0x57bde6
cmp ebx, 0x65
jne 0x57a323
push esi
call fcn.005bcf06
pop ecx
jmp 0x57bde6
cmp ebx, 0x66
jne 0x57a335
push 0
call fcn.005bcf06
pop ecx
jmp 0x57bde6
cmp ebx, 0x67
jne 0x57a34b
push 0
push 7
call fcn.00571b2e
add esp, 8
jmp 0x57bde6
cmp ebx, 0x68
jne 0x57a361
push 0
push 0xb
call fcn.00571b2e
add esp, 8
jmp 0x57bde6
cmp ebx, 0x69
jne 0x57a377
push 0
push 8
call fcn.00571b2e
add esp, 8
jmp 0x57bde6
cmp ebx, 0x6a
jne 0x57a38d
push 0
push 1
call fcn.00571b2e
add esp, 8
jmp 0x57bde6
cmp ebx, 0x6b
jne 0x57a3a3
push 0
push 9
call fcn.00571b2e
add esp, 8
jmp 0x57bde6
cmp ebx, 0x6c
jne 0x57a3b9
push 0
push 0xa
call fcn.00571b2e
add esp, 8
jmp 0x57bde6
cmp ebx, 0x6d
jne 0x57a3cf
push 0
push 0
call fcn.00571b2e
add esp, 8
jmp 0x57bde6
cmp ebx, 0x6e
jne 0x57a3f2
push 0x4b4842
mov edx, dword [0x4cda2d]
push edx
push 0x4cd6a8
call fcn.005c6bf2
add esp, 0xc
jmp 0x57bde6
cmp ebx, 0x6f
jne 0x57a443
mov ecx, dword [ebp - 0x14]
push ecx
mov eax, dword [ebp - 0x10]
push eax
push 1
push 0
push 0x4deb88
call fcn.0059467e
add esp, 0x14
cmp dword [0x4deba8], 0
jne 0x57a420
xor eax, eax
jmp 0x57be41
push 0x4b485b
mov edx, dword [0x4cda2d]
push edx
push 0x4deb88
push 0x4cd6a8
call fcn.005c69a6
add esp, 0x10
jmp 0x57bde6
cmp ebx, 0x70
jne 0x57a49c
mov ecx, dword [ebp - 0x14]
push ecx
mov eax, dword [ebp - 0x10]
push eax
mov edx, dword [0x4cd8e1]
push edx
push 0x4dfd08
push 0x4ded08
call fcn.00599e6e
add esp, 0x14
cmp dword [0x4dfd28], 0
jne 0x57a479
xor eax, eax
jmp 0x57be41
push 0x4b486a
mov edx, dword [0x4cda2d]
push edx
push 0x4dfd08
push 0x4cd6a8
call fcn.005c70ee
add esp, 0x10
jmp 0x57bde6
cmp ebx, 0x71
je 0x57a4aa
cmp ebx, 0x7c
jne 0x57a5df
cmp ebx, 0x71
jne 0x57a4e5
mov ecx, dword [ebp - 0x14]
push ecx
mov eax, dword [ebp - 0x10]
push eax
push 0
push 0
push 4
push 0x4e1308
push 0x4b39cb
call fcn.0059309a
add esp, 0x1c
test eax, eax
je 0x57a4da
xor eax, eax
jmp 0x57be41
mov edx, dword [0x4e1308]
mov dword [ebp - 0x3c], edx
jmp 0x57a4ee
mov ecx, dword [ebp - 0x163c]
mov dword [ebp - 0x3c], ecx
test esi, esi
je 0x57a509
cmp dword [0x4de818], 0
jne 0x57a509
mov ecx, dword [0x4cda1d]
mov eax, dword [0x4cda21]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x54], eax
push 0x4b3c10
lea edx, [ebp - 0x10ec]
push edx
call fcn.005fcc36
add esp, 8
mov dword [ebp - 0xc], eax
lea ecx, [ebp - 0x10ec]
add ecx, dword [ebp - 0xc]
push ecx
mov eax, dword [ebp - 0x54]
push eax
mov edx, dword [ebp - 0x50]
push edx
call fcn.005b3fea
add esp, 0xc
add dword [ebp - 0xc], eax
push 0x4b487a
lea ecx, [ebp - 0x10ec]
add ecx, dword [ebp - 0xc]
push ecx
call fcn.005fcc36
add esp, 8
add dword [ebp - 0xc], eax
cmp dword [ebp - 0x3c], 0
jge 0x57a596
cmp ebx, 0x72
jne 0x57a66b
test esi, esi
je 0x57a603
cmp ebx, 0x73
jne 0x57a6f4
test ebx, ebx
je 0x57bdf7
push 0
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.006054d8
xor eax, eax
jmp 0x57be41
push 0x447748
push 0x4cd6a8
mov edx, dword [ebp + 8]
push edx
call fcn.005abed6
add esp, 0xc
xor eax, eax
jmp 0x57be41
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0x10]
push eax
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.006053b8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10