Function at 0x42ef60
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50f3f0
mov eax, dword fs:[0]
push eax
mov eax, 0x79f8
call fcn.004efec0
mov eax, dword [0x574be0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x78b0], edx
mov eax, ecx
mov dword [ebp - 0x78dc], eax
mov esi, dword [ebp + 8]
mov dword [ebp - 0x795c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x7888], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x7870], eax
mov dword [ebp - 0x7918], 0
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
mov dword [ebp - 0x78ac], esi
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x78a8], edi
mov dword [ebp - 4], 1
push 0x54e2ec
mov ecx, esi
mov byte [ebp - 0x789c], 0
call fcn.0043a040
or ebx, 0xffffffff
cmp byte [eax + 8], 4
jne 0x42f118
push 0x54e2ec
mov ecx, esi
call fcn.0043a040
mov esi, eax
cmp byte [esi + 8], 4
je 0x42f033
push 0x2a9
push 0x54f290
push 0x54f324
call fcn.004ee7eb
add esp, 0xc
mov eax, dword [esi]
mov dword [ebp - 0x7864], eax
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x787c], esi
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x7864]
test eax, eax
je 0x42f08e
test eax, 0xffff0000
jne 0x42f08e
movzx eax, ax
mov ecx, eax
mov dword [ebp - 0x7864], eax
call fcn.0041fcd0
test eax, eax
je 0x42f0a0
push dword [ebp - 0x7864]
lea ecx, [ebp - 0x787c]
push eax
call fcn.00420bb0
jmp 0x42f09a
push eax
lea ecx, [ebp - 0x787c]
call fcn.00420650
mov esi, dword [ebp - 0x787c]
mov byte [ebp - 4], 1
mov ecx, 0x54e42c
mov eax, esi
jmp 0x42f0b0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f0d6
test dx, dx
je 0x42f0d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f0d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f0b0
xor eax, eax
jmp 0x42f0db
sbb eax, eax
or eax, 1
mov ecx, dword [ebp - 0x789c]
test eax, eax
sete al
movzx ecx, cl
test al, al
mov edx, 1
cmovne ecx, edx
add esi, 0xfffffff0
mov dword [ebp - 0x789c], ecx
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f112
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x78ac]
push 0x54e420
mov ecx, esi
call fcn.0043a040
cmp byte [eax + 8], 4
jne 0x42f6d0
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x78a4], eax
push 0x54e420
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.0043a040
mov esi, eax
cmp byte [esi + 8], 4
je 0x42f173
push 0x2a9
push 0x54f290
push 0x54f324
call fcn.004ee7eb
add esp, 0xc
mov edx, dword [esi]
test edx, edx
jne 0x42f17d
xor ecx, ecx
jmp 0x42f18b
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f182
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x78a8]
call fcn.0042ca60
lea edx, [ebp - 0x78a4]
lea ecx, [ebp - 0x78a8]
call fcn.0042c120
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x787c], eax
mov eax, 0x54e454
mov byte [ebp - 4], 4
test eax, 0xffff0000
jne 0x42f1ec
movzx esi, ax
mov ecx, esi
call fcn.0041fcd0
test eax, eax
je 0x42f1fc
push esi
push eax
lea ecx, [ebp - 0x787c]
call fcn.00420bb0
jmp 0x42f1fc
push 0x54e454
lea ecx, [ebp - 0x787c]
call fcn.00420650
push 0x54e43c
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 5
call fcn.004204a0
mov byte [ebp - 4], 6
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x7864], esi
lea eax, [ebp - 0x787c]
push eax
lea edx, [ebp - 0x7864]
lea ecx, [ebp - 0x7874]
mov byte [ebp - 4], 7
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x78a4]
push ecx
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 8
call fcn.00421890
add esp, 4
mov edi, eax
push 0x54d6c0
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 9
call fcn.004204a0
push 0
push edi
lea eax, [ebp - 0x7868]
push eax
lea eax, [ebp - 0x7860]
push eax
mov byte [ebp - 4], 0xa
call fcn.004219a0
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x7860]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f2b7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x786c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f2da
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x7874]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f2fd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 6
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f31a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x7868]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f33d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x787c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f360
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x78a4]
cmp dword [esi - 0xc], 0
je 0x42f6a7
cmp byte [ebp - 0x789c], 0
push ecx
je 0x42f4c9
lea ecx, [ebp - 0x7a04]
call fcn.00428ff0
sub esp, 8
lea ecx, [ebp - 0x7a04]
push esi
mov byte [ebp - 4], 0xb
call fcn.004359a0
cmp dword [ebp - 0x79b0], 0
je 0x42f3c0
lea ecx, [ebp - 0x7a04]
call fcn.00429120
lea ecx, [ebp - 0x7a04]
call fcn.00428d50
jmp 0x42f6a7
push 0x54e480
lea ecx, [ebp - 0x7868]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xc
call fcn.004204a0
mov byte [ebp - 4], 0xd
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x7864], edi
lea eax, [ebp - 0x7868]
push eax
lea edx, [ebp - 0x7864]
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0xe
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xf
call fcn.004223b0
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x786c]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f456
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [edi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f473
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x7860]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f496
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x7868]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f4b9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x7a04]
call fcn.00428d50
jmp 0x42f6a7
mov ecx, esp
push 0x54c764
mov byte [ebp - 0x7875], 0
call fcn.004204a0
mov dl, byte [ebp - 0x7875]
lea ecx, [ebp - 0x78a4]
call fcn.0042b7f0
add esp, 4
lea ecx, [ebp - 0x7868]
test al, al
je 0x42f5b4
push 0x54e470
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x10
call fcn.004204a0
mov byte [ebp - 4], 0x11
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x7864], edi
lea eax, [ebp - 0x7868]
push eax
lea edx, [ebp - 0x7864]
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0x12
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x13
call fcn.004223b0
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x786c]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f58e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x11
lea eax, [edi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f5ab
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x10
jmp 0x42f665
push 0x54e4d4
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x14
call fcn.004204a0
mov byte [ebp - 4], 0x15
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x7864], edi
lea eax, [ebp - 0x7868]
push eax
lea edx, [ebp - 0x7864]
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0x16
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x17
call fcn.004223b0
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x786c]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f644
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x15
lea eax, [edi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f661
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x7860]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f684
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x7868]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f6a7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 1
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f6c4
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x78ac]
mov edi, dword [ebp - 0x78a8]
mov ecx, esi
call fcn.0042dd00
test al, al
je 0x42f89a
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x789c], eax
mov eax, 0x54e4a8
mov byte [ebp - 4], 0x18
test eax, 0xffff0000
jne 0x42f722
movzx esi, ax
mov ecx, esi
call fcn.0041fcd0
test eax, eax
je 0x42f732
push esi
push eax
lea ecx, [ebp - 0x789c]
call fcn.00420bb0
jmp 0x42f732
push 0x54e4a8
lea ecx, [ebp - 0x789c]
call fcn.00420650
push 0x54e43c
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x19
call fcn.004204a0
mov byte [ebp - 4], 0x1a
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x7870], esi
lea eax, [ebp - 0x789c]
push eax
lea edx, [ebp - 0x7870]
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x1b
call fcn.00421890
add esp, 4
mov ebx, eax
push 0x54d6c0
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x1c
call fcn.004204a0
push 0
push ebx
lea eax, [ebp - 0x7868]
push eax
lea eax, [ebp - 0x7860]
push eax
mov byte [ebp - 4], 0x1d
call fcn.004219a0
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x7860]
add edx, 0xfffffff0
or ebx, 0xffffffff
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f7d5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x7864]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f7f8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x1a
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f815
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x7868]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f838
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x789c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f85b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x78dc]
mov edx, dword [ebp - 0x78ac]
mov ecx, esi
call fcn.0042de40
add edi, 0xfffffff0
mov dword [ebp - 0x7918], 1
mov byte [ebp - 4], 0
lea eax, [edi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x42f893
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, esi
jmp 0x4321d8
cmp dword [ebp - 0x78b0], 0
jne 0x42fa16
push 0x54e51c
lea ecx, [ebp - 0x7868]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x1e
call fcn.004204a0
mov byte [ebp - 4], 0x1f
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x7870], esi
lea eax, [ebp - 0x7868]
push eax
lea edx, [ebp - 0x7870]
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x20
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x21
call fcn.004223b0
mov byte [ebp - 4], 0x20
mov edx, dword [ebp - 0x7864]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f93d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x1f
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f95a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x7860]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f97d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x7868]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f9a0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x54e4fc
lea ecx, [ebp - 0x7870]
call fcn.00420550
mov byte [ebp - 4], 0x22
mov esi, dword [ebp - 0x78dc]
mov edx, eax
mov ecx, esi
call fcn.0042d810
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x7870]
add edx, 0xfffffff0
mov dword [ebp - 0x7918], 1
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42f9f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x42f893
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, esi
jmp 0x4321d8
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x78d0], eax
mov byte [ebp - 4], 0x23
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x78e0], eax
mov byte [ebp - 4], 0x24
push 0x54e2bc
mov ecx, esi
mov dword [ebp - 0x78a4], 0
call fcn.0043a040
mov esi, eax
cmp byte [esi + 8], 4
je 0x42fa7f
push 0x2a9
push 0x54f290
push 0x54f324
call fcn.004ee7eb
add esp, 0xc
push dword [esi]
lea ecx, [ebp - 0x7890]
call fcn.00420550
push 0x54e2e4
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x25
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x26
call fcn.004204a0
mov byte [ebp - 4], 0x27
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x7864], esi
lea eax, [ebp - 0x7868]
push eax
lea edx, [ebp - 0x7864]
lea ecx, [ebp - 0x7874]
mov byte [ebp - 4], 0x28
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7890]
push ecx
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0x29
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x2a
call fcn.004223b0
mov byte [ebp - 4], 0x29
mov edx, dword [ebp - 0x786c]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42fb41
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0x7874]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42fb64
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x27
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42fb81
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x26
mov edx, dword [ebp - 0x7860]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42fba4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x7868]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42fbc7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x54e540
lea ecx, [ebp - 0x78d8]
call fcn.004204a0
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp - 0x78d8]
test eax, eax
je 0x42fd4d
mov ecx, dword [ebp - 0x7890]
cmp dword [ecx - 0xc], 0
jl 0x42fd4d
push eax
push ecx
call fcn.004ebb6d
mov esi, eax
add esp, 8
test esi, esi
je 0x42fd4d
mov ecx, dword [ebp - 0x7890]
sub esi, ecx
sar esi, 1
cmp esi, 0xffffffff
je 0x42fd4d
cmp byte [0x57bc6b], 0
jne 0x42fd4d
mov ecx, dword [ecx - 0xc]
mov eax, dword [ebp - 0x78d8]
sub ecx, dword [eax - 0xc]
lea eax, [ebp - 0x7860]
sub ecx, esi
push ecx
push eax
lea ecx, [ebp - 0x7890]
call fcn.0042c5d0
mov byte [ebp - 4], 0x2c
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x787c], eax
lea eax, [ebp - 0x787c]
push eax
lea eax, [ebp - 0x7860]
push eax
mov byte [ebp - 4], 0x2d
call fcn.0042d750
mov ecx, eax
call fcn.00434c90
test al, al
je 0x42fd07
mov eax, dword [ebp - 0x78d8]
lea ecx, [ebp - 0x7890]
mov eax, dword [eax - 0xc]
add eax, esi
push eax
lea eax, [ebp - 0x7880]
push eax
call fcn.0042d6e0
lea eax, [ebp - 0x787c]
push eax
mov edx, 0x54e534
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x2e
call fcn.00424820
add esp, 4
mov byte [ebp - 4], 0x2f
mov eax, dword [eax]
lea ecx, [ebp - 0x7880]
push dword [eax - 0xc]
push eax
call fcn.00428940
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x2e
call fcn.004205e0
lea eax, [ebp - 0x7880]
push eax
lea ecx, [ebp - 0x7890]
call fcn.004222b0
lea ecx, [ebp - 0x7880]
call fcn.004205e0
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0x787c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42fd2a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2b
mov edx, dword [ebp - 0x7860]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42fd4d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x78f0], eax
lea eax, [ebp - 0x78f0]
push eax
lea eax, [ebp - 0x78a4]
push eax
lea eax, [ebp - 0x78e0]
push eax
lea edx, [ebp - 0x78d0]
lea ecx, [ebp - 0x7890]
mov byte [ebp - 4], 0x30
call fcn.0042d980
movzx eax, al
add esp, 0xc
lea ecx, [ebp - 0x7868]
test eax, eax
jne 0x43006c
push 0x54e57c
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x31
call fcn.004204a0
mov byte [ebp - 4], 0x32
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x7870], esi
lea eax, [ebp - 0x7868]
push eax
lea edx, [ebp - 0x7870]
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x33
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x34
call fcn.004223b0
mov byte [ebp - 4], 0x33
mov edx, dword [ebp - 0x7864]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42fe31
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x32
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42fe4e
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x31
mov edx, dword [ebp - 0x7860]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42fe71
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x7868]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42fe94
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x54e558
lea ecx, [ebp - 0x7860]
call fcn.00420550
mov byte [ebp - 4], 0x35
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x7870], esi
lea eax, [ebp - 0x7860]
push eax
lea edx, [ebp - 0x7870]
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0x36
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x78f0]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x37
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x78dc]
mov edx, eax
call fcn.0042d810
mov byte [ebp - 4], 0x37
mov edx, dword [ebp - 0x7864]
add edx, 0xfffffff0
mov dword [ebp - 0x7918], 1
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42ff36
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x36
mov edx, dword [ebp - 0x786c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42ff59
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x35
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42ff76
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x7860]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42ff99
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2b
mov edx, dword [ebp - 0x78f0]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42ffbc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x78d8]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42ffdf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x7890]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x430002
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x78e0]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x430025
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x78d0]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x430048
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x4321d2
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4321d2
push 0x54e5a4
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x39
call fcn.004204a0
mov byte [ebp - 4], 0x3a
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x7864], esi
lea eax, [ebp - 0x7868]
push eax
lea edx, [ebp - 0x7864]
lea ecx, [ebp - 0x7874]
mov byte [ebp - 4], 0x3b
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x78d0]
push ecx
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0x3c
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x3d
call fcn.004223b0
mov byte [ebp - 4], 0x3c
mov edx, dword [ebp - 0x786c]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x430117
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x3b
mov edx, dword [ebp - 0x7874]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43013a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x3a
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x430157
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x39
mov edx, dword [ebp - 0x7860]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43017a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x7868]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43019d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x54e58c
lea ecx, [ebp - 0x7868]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x3e
call fcn.004204a0
mov byte [ebp - 4], 0x3f
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x7864], esi
lea eax, [ebp - 0x7868]
push eax
lea edx, [ebp - 0x7864]
lea ecx, [ebp - 0x7874]
mov byte [ebp - 4], 0x40
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x78e0]
push ecx
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0x41
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x42
call fcn.004223b0
mov byte [ebp - 4], 0x41
mov edx, dword [ebp - 0x786c]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43024e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x40
mov edx, dword [ebp - 0x7874]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x430271
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x3f
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43028e
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x3e
mov edx, dword [ebp - 0x7860]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4302b1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x7868]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4302d4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x54e5cc
lea ecx, [ebp - 0x7868]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x43
call fcn.004204a0
mov byte [ebp - 4], 0x44
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x7864], esi
lea eax, [ebp - 0x7868]
push eax
lea edx, [ebp - 0x7864]
lea ecx, [ebp - 0x7874]
mov byte [ebp - 4], 0x45
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0x46
push dword [ebp - 0x78a4]
mov edx, eax
lea ecx, [ebp - 0x786c]
call fcn.00421800
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x47
call fcn.004223b0
mov byte [ebp - 4], 0x46
mov edx, dword [ebp - 0x786c]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x430384
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x45
mov edx, dword [ebp - 0x7874]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4303a7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x44
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4303c4
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x43
mov edx, dword [ebp - 0x7860]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4303e7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x7868]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43040a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x7890]
mov byte [ebp - 0x7881], 0
lea ecx, [ecx - 0x10]
mov dword [ebp - 0x787c], 0x50
lea edi, [ebp - 0x787c]
mov esi, esp
call fcn.00420750
add eax, 0x10
mov edx, edi
lea ecx, [ebp - 0x7881]
mov dword [esi], eax
call fcn.0042dbd0
add esp, 4
cmp byte [ebp - 0x7881], 0
mov ecx, 0x54dedc
mov eax, 0x54ded8
cmove eax, ecx
push eax
lea ecx, [ebp - 0x7880]
call fcn.00420550
push 0x54e5c0
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x48
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x49
call fcn.004204a0
mov byte [ebp - 4], 0x4a
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x786c], edi
mov byte [ebp - 4], 0x4b
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x7864], esi
lea eax, [ebp - 0x7868]
push eax
lea edx, [ebp - 0x7864]
lea ecx, [ebp - 0x78a0]
mov byte [ebp - 4], 0x4c
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x786c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7894]
mov byte [ebp - 4], 0x4d
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7880]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7874]
mov byte [ebp - 4], 0x4e
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x4f
call fcn.004223b0
mov byte [ebp - 4], 0x4e
mov edx, dword [ebp - 0x7874]
add esp, 4
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x430551
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x4d
mov edx, dword [ebp - 0x7894]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x430574
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x4c
mov edx, dword [ebp - 0x78a0]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x430597
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x4b
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4305b4
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x4a
lea eax, [edi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4305d1
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x49
mov edx, dword [ebp - 0x7860]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4305f4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x48
mov edx, dword [ebp - 0x7868]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x430617
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x7880]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43063a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x78ac]
push 0x54e608
mov ecx, esi
call fcn.0043a040
cmp byte [eax + 8], 1
jne 0x430667
push 0x54e608
mov ecx, esi
call fcn.0043a040
mov ecx, eax
call fcn.00439800
jmp 0x430676
mov eax, dword [ebp - 0x78a4]
test eax, eax
cmove eax, dword [ebp - 0x787c]
push 0x54e5e8
lea ecx, [ebp - 0x7868]
mov dword [ebp - 0x7880], eax
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x50
call fcn.004204a0
mov byte [ebp - 4], 0x51
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x786c], edi
mov byte [ebp - 4], 0x52
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x7864], esi
lea eax, [ebp - 0x7868]
push eax
lea edx, [ebp - 0x7864]
lea ecx, [ebp - 0x787c]
mov byte [ebp - 4], 0x53
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x786c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7894]
mov byte [ebp - 4], 0x54
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0x55
push dword [ebp - 0x7880]
mov edx, eax
lea ecx, [ebp - 0x7874]
call fcn.00421800
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x56
call fcn.004223b0
mov byte [ebp - 4], 0x55
mov edx, dword [ebp - 0x7874]
add edx, 0xfffffff0
add esp, 4
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x430761
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x54
mov edx, dword [ebp - 0x7894]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x430784
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x53
mov edx, dword [ebp - 0x787c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4307a7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x52
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4307c4
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x51
lea eax, [edi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4307e1
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x50
mov edx, dword [ebp - 0x7860]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x430804
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x7868]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x430825
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0
push 3
push 0
push 0
push dword [ebp - 0x7880]
push dword [ebp - 0x78d0]
push dword [ebp - 0x78b0]
call dword [0x51b4ec]
mov dword [ebp - 0x78a4], eax
test eax, eax
jne 0x430b5d
push 0x54e628
lea ecx, [ebp - 0x789c]
call fcn.00420550
push 0x54e610
lea ecx, [ebp - 0x7880]
mov byte [ebp - 4], 0x57
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x58
call fcn.004204a0
mov byte [ebp - 4], 0x59
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x7860], eax
lea eax, [ebp - 0x7880]
push eax
lea edx, [ebp - 0x7860]
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0x5a
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x789c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x5b
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7890]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x5c
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x5d
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
call fcn.004205e0
lea ecx, [ebp - 0x7880]
call fcn.004205e0
lea ecx, [ebp - 0x789c]
mov byte [ebp - 4], 0x30
call fcn.004205e0
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x7880], eax
mov byte [ebp - 4], 0x5e
lea edx, [ebp - 0x787c]
lea ecx, [ebp - 0x7880]
mov dword [ebp - 0x787c], 0
call fcn.004343d0
mov eax, dword [ebp - 0x7880]
mov ecx, 0x54e654
cmp dword [eax - 0xc], 0
cmovne ecx, eax
push ecx
lea ecx, [ebp - 0x78e4]
call fcn.004204a0
push 0x54c734
lea ecx, [ebp - 0x78a0]
mov byte [ebp - 4], 0x5f
call fcn.004204a0
push 0x54c734
lea ecx, [ebp - 0x78b0]
mov byte [ebp - 4], 0x60
call fcn.004204a0
push 0x54e630
lea ecx, [ebp - 0x78a4]
mov byte [ebp - 4], 0x61
call fcn.00420550
lea ecx, [ebp - 0x78b8]
mov byte [ebp - 4], 0x62
call fcn.0042b6a0
mov esi, eax
mov byte [ebp - 4], 0x63
mov edx, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x7860], eax
lea eax, [ebp - 0x78a4]
push eax
lea edx, [ebp - 0x7860]
lea ecx, [ebp - 0x78ec]
mov byte [ebp - 4], 0x64
call fcn.00421890
add esp, 4
push esi
mov edx, eax
lea ecx, [ebp - 0x78e8]
mov byte [ebp - 4], 0x65
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x78b0]
push ecx
mov edx, eax
lea ecx, [ebp - 0x78d4]
mov byte [ebp - 4], 0x66
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0x67
push dword [ebp - 0x787c]
mov edx, eax
lea ecx, [ebp - 0x78ac]
call fcn.00421800
add esp, 4
lea ecx, [ebp - 0x78a0]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7894]
mov byte [ebp - 4], 0x68
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x78e4]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7874]
mov byte [ebp - 4], 0x69
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0x6a
mov ecx, dword [ebp - 0x78dc]
mov edx, eax
call fcn.0042d810
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x7894]
call fcn.004205e0
lea ecx, [ebp - 0x78ac]
call fcn.004205e0
lea ecx, [ebp - 0x78d4]
call fcn.004205e0
lea ecx, [ebp - 0x78e8]
call fcn.004205e0
lea ecx, [ebp - 0x78ec]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x78b8]
call fcn.004205e0
lea ecx, [ebp - 0x78a4]
call fcn.004205e0
lea ecx, [ebp - 0x78b0]
call fcn.004205e0
lea ecx, [ebp - 0x78a0]
call fcn.004205e0
lea ecx, [ebp - 0x78e4]
call fcn.004205e0
lea ecx, [ebp - 0x7880]
jmp 0x43218b
mov esi, dword [ebp - 0x78ac]
push 0x54e3bc
mov ecx, esi
mov ebx, 0x80400200
call fcn.0043a040
cmp eax, 0x57c240
je 0x430bca
sub esp, 0x18
push esp
push ecx
push 0x54e3bc
mov ecx, esi
call fcn.0043a040
add esp, 4
mov ecx, eax
call fcn.004396f0
lea ecx, [ebp - 0x7860]
call fcn.00421210
add esp, 0x14
lea ecx, [ebp - 0x7860]
push 0x54e680
call fcn.0042c530
mov ecx, 0x80480200
cmp eax, 0xffffffff
cmovne ebx, ecx
lea ecx, [ebp - 0x7860]
call fcn.004205e0
or ebx, 0xc000
cmp byte [ebp - 0x7881], 0
mov dword [ebp - 0x787c], ebx
je 0x430beb
or ebx, 0x803000
mov dword [ebp - 0x787c], ebx
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x7880], eax
mov dword [ebp - 0x78b8], eax
push 0x54e348
mov ecx, esi
mov byte [ebp - 4], 0x6b
call fcn.0043a040
cmp byte [eax + 8], 4
jne 0x430d02
push 0x54e348
mov ecx, esi
call fcn.0043a040
mov ecx, eax
call fcn.004396c0
push eax
lea ecx, [ebp - 0x78b8]
call fcn.00420650
push 0x54e65c
lea ecx, [ebp - 0x7868]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x6c
call fcn.004204a0
lea ecx, [ebp - 0x7874]
call fcn.00421500
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0x6e
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x78b8]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x6f
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x70
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x6b
call fcn.004205e0
mov eax, dword [ebp - 0x78b8]
mov dword [ebp - 0x7880], eax
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea ebx, [eax + 0x10]
mov dword [ebp - 0x78d4], ebx
push 0x54e6b8
mov ecx, esi
mov byte [ebp - 4], 0x71
call fcn.0043a040
cmp byte [eax + 8], 4
jne 0x430e0d
push 0x54e6b8
mov ecx, esi
call fcn.0043a040
mov ecx, eax
call fcn.004396c0
push eax
lea ecx, [ebp - 0x78d4]
call fcn.00420650
push 0x54e690
lea ecx, [ebp - 0x7868]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x72
call fcn.004204a0
lea ecx, [ebp - 0x7874]
call fcn.00421500
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0x74
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x78d4]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x75
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x76
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x71
call fcn.004205e0
mov ebx, dword [ebp - 0x78d4]
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x78e8], edi
push 0x54e3dc
mov ecx, esi
mov byte [ebp - 4], 0x77
call fcn.0043a040
cmp byte [eax + 8], 4
jne 0x430f18
push 0x54e3dc
mov ecx, esi
call fcn.0043a040
mov ecx, eax
call fcn.004396c0
push eax
lea ecx, [ebp - 0x78e8]
call fcn.00420650
push 0x54e6ec
lea ecx, [ebp - 0x7868]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x78
call fcn.004204a0
lea ecx, [ebp - 0x7874]
call fcn.00421500
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0x7a
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x78e8]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x7b
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x7c
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x77
call fcn.004205e0
mov edi, dword [ebp - 0x78e8]
mov eax, dword [0x575ba4]
mov ecx, 0x575ba4
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x78ec], esi
mov byte [ebp - 4], 0x7d
mov ecx, dword [ebp - 0x78ac]
push 0x54e3ac
call fcn.0043a040
cmp byte [eax + 8], 4
jne 0x43102b
mov ecx, dword [ebp - 0x78ac]
push 0x54e3ac
call fcn.0043a040
mov ecx, eax
call fcn.004396c0
push eax
lea ecx, [ebp - 0x78ec]
call fcn.00420650
push 0x54e6c0
lea ecx, [ebp - 0x7868]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x7e
call fcn.004204a0
lea ecx, [ebp - 0x7874]
call fcn.00421500
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0x80
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x78ec]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x81
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x82
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x7d
call fcn.004205e0
mov esi, dword [ebp - 0x78ec]
xor eax, eax
cmp dword [esi - 0xc], eax
mov dword [ebp - 0x7954], eax
cmove esi, eax
mov dword [ebp - 0x7958], esi
cmp dword [edi - 0xc], eax
push 1
push dword [ebp - 0x787c]
cmove edi, eax
cmp dword [ebx - 0xc], eax
cmove ebx, eax
mov eax, dword [ebp - 0x7880]
xor ecx, ecx
cmp dword [eax - 0xc], ecx
cmove eax, ecx
lea ecx, [ebp - 0x7958]
push ecx
push edi
push ebx
push dword [ebp - 0x78e0]
mov ebx, dword [ebp - 0x78a4]
push eax
push ebx
call dword [0x51b514]
mov edi, eax
mov dword [ebp - 0x78a0], edi
test edi, edi
jne 0x431234
push 0x54e628
lea ecx, [ebp - 0x7880]
call fcn.00420550
push 0x54e738
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x83
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x84
call fcn.004204a0
lea ecx, [ebp - 0x7874]
call fcn.00421500
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0x86
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7880]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x87
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7890]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x88
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x89
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
call fcn.004205e0
lea ecx, [ebp - 0x7880]
mov byte [ebp - 4], 0x7d
call fcn.004205e0
push ebx
call dword [0x51b504]
push 0x54e714
lea ecx, [ebp - 0x789c]
call fcn.00420550
lea ecx, [ebp - 0x7874]
mov byte [ebp - 4], 0x8a
call fcn.0042b6a0
mov esi, eax
lea ecx, [ebp - 0x786c]
call fcn.00421500
lea ecx, [ebp - 0x789c]
push ecx
mov byte [ebp - 4], 0x8c
mov edx, eax
lea ecx, [ebp - 0x7864]
call fcn.00421890
add esp, 4
push esi
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x8d
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0x8e
mov ecx, dword [ebp - 0x78dc]
mov edx, eax
call fcn.0042d810
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x789c]
jmp 0x43215f
lea ecx, [ebp - 0x78b0]
call fcn.00421500
mov byte [ebp - 4], 0x8f
mov ebx, dword [ebp - 0x78ac]
push 0x54e760
mov ecx, ebx
call fcn.0043a040
cmp byte [eax + 8], 4
jne 0x4312e7
push 0x54e750
lea ecx, [ebp - 0x7874]
call fcn.004355f0
mov esi, eax
push 0x54e760
mov ecx, ebx
mov byte [ebp - 4], 0x90
call fcn.0043a040
mov ecx, eax
call fcn.004396c0
push eax
mov edx, esi
lea ecx, [ebp - 0x786c]
call fcn.00435690
add esp, 4
push 0x54de64
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x91
call fcn.00435690
add esp, 4
push eax
lea ecx, [ebp - 0x78a8]
mov byte [ebp - 4], 0x92
call fcn.00435a50
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
mov byte [ebp - 4], 0x8f
call fcn.004205e0
push 0x54e3bc
mov ecx, ebx
call fcn.0043a040
cmp byte [eax + 8], 4
jne 0x431431
lea ecx, [ebp - 0x786c]
call fcn.00421500
mov esi, eax
push 0x54e3bc
mov ecx, ebx
mov byte [ebp - 4], 0x93
call fcn.0043a040
mov ecx, eax
call fcn.004396c0
push eax
mov edx, esi
lea ecx, [ebp - 0x7864]
call fcn.00435690
add esp, 4
mov byte [ebp - 4], 0x94
mov eax, dword [eax]
lea ecx, [ebp - 0x78a8]
push dword [eax - 0xc]
push eax
call fcn.00435be0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0x8f
call fcn.004205e0
push 0x54e778
lea ecx, [ebp - 0x7868]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x95
call fcn.004204a0
mov byte [ebp - 4], 0x96
push dword [ebp - 0x78a8]
lea ecx, [ebp - 0x7894]
call fcn.00420550
push eax
lea edx, [ebp - 0x7868]
lea ecx, [ebp - 0x7874]
mov byte [ebp - 4], 0x97
call fcn.00422130
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x786c]
call fcn.00421500
push esi
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x99
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x9a
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x7894]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x8f
call fcn.004205e0
lea edx, [ebp - 0x78b0]
lea ecx, [ebp - 0x78a8]
call fcn.0042c120
lea ecx, [ebp - 0x78e4]
call fcn.00421500
push 0x54e76c
mov ecx, ebx
mov byte [ebp - 4], 0x9b
call fcn.0043a040
cmp byte [eax + 8], 4
jne 0x431482
push 0x54e76c
mov ecx, ebx
call fcn.0043a040
mov ecx, eax
call fcn.004396c0
push eax
lea ecx, [ebp - 0x78e4]
call fcn.0042c400
cmp dword [ebp - 0x7870], 0
mov dword [ebp - 0x7880], 0xffffffff
je 0x43190f
push 0x54e7b8
mov ecx, ebx
call fcn.0043a170
test al, al
je 0x43190f
push 0x54e7b8
mov ecx, ebx
call fcn.0043a040
cmp byte [eax + 8], 1
jne 0x43190f
push 0x54e7b8
mov ecx, ebx
call fcn.0043a040
mov ecx, eax
call fcn.00439800
mov dword [ebp - 0x7880], eax
cmp eax, 0xffffffff
je 0x43190f
push 4
lea eax, [ebp - 0x787c]
push eax
push 6
push edi
mov dword [ebp - 0x787c], 0x7530
call dword [0x51b4f4]
lea ecx, [ebp - 0x7868]
test eax, eax
je 0x4315fb
push 0x54e790
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0x9c
call fcn.004204a0
lea ecx, [ebp - 0x7898]
call fcn.00421500
mov esi, eax
lea ecx, [ebp - 0x7894]
call fcn.00421500
push esi
mov edx, eax
lea ecx, [ebp - 0x7874]
mov byte [ebp - 4], 0x9f
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0xa0
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0xa1
push dword [ebp - 0x787c]
mov edx, eax
lea ecx, [ebp - 0x7864]
call fcn.00421800
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xa2
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x7894]
call fcn.004205e0
lea ecx, [ebp - 0x7898]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x9b
call fcn.004205e0
jmp 0x4316ff
push 0x54e7f4
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xa3
call fcn.004204a0
lea ecx, [ebp - 0x788c]
mov byte [ebp - 4], 0xa4
call fcn.0042b6a0
mov edi, eax
lea ecx, [ebp - 0x7898]
call fcn.00421500
mov esi, eax
lea ecx, [ebp - 0x7894]
call fcn.00421500
push esi
mov edx, eax
lea ecx, [ebp - 0x7874]
mov byte [ebp - 4], 0xa7
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0xa8
call fcn.00421890
add esp, 4
push edi
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0xa9
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xaa
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x7894]
call fcn.004205e0
lea ecx, [ebp - 0x7898]
call fcn.004205e0
lea ecx, [ebp - 0x788c]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x9b
call fcn.004205e0
mov edi, dword [ebp - 0x78a0]
push 4
lea eax, [ebp - 0x787c]
push eax
push 5
push edi
call dword [0x51b4f4]
lea ecx, [ebp - 0x7868]
test eax, eax
je 0x43180b
push 0x54e7cc
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xab
call fcn.004204a0
lea ecx, [ebp - 0x7894]
call fcn.00421500
mov esi, eax
lea ecx, [ebp - 0x7874]
call fcn.00421500
push esi
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0xae
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0xaf
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0xb0
push dword [ebp - 0x787c]
mov edx, eax
lea ecx, [ebp - 0x788c]
call fcn.00421800
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xb1
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x788c]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x7894]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x9b
call fcn.004205e0
jmp 0x43190f
push 0x54e838
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xb2
call fcn.004204a0
lea ecx, [ebp - 0x7898]
mov byte [ebp - 4], 0xb3
call fcn.0042b6a0
mov edi, eax
lea ecx, [ebp - 0x7894]
call fcn.00421500
mov esi, eax
lea ecx, [ebp - 0x7874]
call fcn.00421500
push esi
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0xb6
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0xb7
call fcn.00421890
add esp, 4
push edi
mov edx, eax
lea ecx, [ebp - 0x788c]
mov byte [ebp - 4], 0xb8
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xb9
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x788c]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x7894]
call fcn.004205e0
lea ecx, [ebp - 0x7898]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x9b
call fcn.004205e0
mov edi, dword [ebp - 0x78a0]
lea eax, [ebp - 0x794c]
push eax
lea eax, [ebp - 0x7930]
push eax
push 0x1f
push edi
mov dword [ebp - 0x7930], 0
mov dword [ebp - 0x794c], 4
call dword [0x51b510]
push 4
lea eax, [ebp - 0x7930]
push eax
push 0x1f
push edi
call dword [0x51b4f4]
mov esi, dword [ebp - 0x78b0]
xor eax, eax
mov edi, dword [esi - 0xc]
test edi, edi
cmove esi, eax
mov eax, dword [ebp - 0x78e4]
lea ecx, [ebp - 0x78e4]
push dword [eax - 0xc]
push 0
call fcn.0042c750
push eax
push edi
push esi
mov esi, dword [ebp - 0x78a0]
push esi
call dword [0x51b4f0]
test eax, eax
jne 0x431b64
lea ecx, [ebp - 0x7880]
call fcn.0042b6a0
push 0x54e628
lea ecx, [ebp - 0x789c]
mov byte [ebp - 4], 0xba
call fcn.00420550
push 0x54e818
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0xbb
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xbc
call fcn.004204a0
lea ecx, [ebp - 0x7874]
call fcn.00421500
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0xbe
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7880]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0xbf
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x789c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0xc0
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7890]
push ecx
mov edx, eax
lea ecx, [ebp - 0x788c]
mov byte [ebp - 4], 0xc1
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xc2
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x788c]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
call fcn.004205e0
lea ecx, [ebp - 0x789c]
mov byte [ebp - 4], 0xba
call fcn.004205e0
push esi
mov esi, dword [0x51b504]
call esi
push dword [ebp - 0x78a4]
call esi
push 0x54e884
lea ecx, [ebp - 0x787c]
call fcn.00420550
lea ecx, [ebp - 0x7864]
call fcn.00421500
lea ecx, [ebp - 0x787c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0xc4
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7880]
push ecx
mov edx, eax
lea ecx, [ebp - 0x788c]
mov byte [ebp - 4], 0xc5
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0xc6
mov ecx, dword [ebp - 0x78dc]
mov edx, eax
call fcn.0042d810
lea ecx, [ebp - 0x788c]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x787c]
call fcn.004205e0
lea ecx, [ebp - 0x7880]
jmp 0x432149
mov ecx, ebx
call fcn.0042dcc0
test al, al
jne 0x431c26
push 0x54e85c
lea ecx, [ebp - 0x7868]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xc7
call fcn.004204a0
lea ecx, [ebp - 0x7870]
call fcn.00421500
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x788c]
mov byte [ebp - 4], 0xc9
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xca
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x788c]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0x9b
call fcn.004205e0
push esi
mov esi, dword [0x51b504]
call esi
push dword [ebp - 0x78a4]
call esi
mov ecx, dword [ebp - 0x78dc]
push 0
call fcn.00439250
jmp 0x43214e
push 0x2800
lea eax, [ebp - 0x5023]
push 0
push eax
mov byte [ebp - 0x5024], 0
call fcn.004eff70
add esp, 0xc
lea eax, [ebp - 0x7950]
push 0
push eax
lea eax, [ebp - 0x5024]
push eax
push 0x13
push esi
mov dword [ebp - 0x7950], 0x2800
call dword [0x51b4f8]
test eax, eax
jne 0x431e1e
push 0x54e628
lea ecx, [ebp - 0x7880]
call fcn.00420550
push 0x54e8cc
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0xcb
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xcc
call fcn.004204a0
lea ecx, [ebp - 0x786c]
call fcn.00421500
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0xce
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7880]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0xcf
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7890]
push ecx
mov edx, eax
lea ecx, [ebp - 0x788c]
mov byte [ebp - 4], 0xd0
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xd1
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x788c]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
call fcn.004205e0
lea ecx, [ebp - 0x7880]
mov byte [ebp - 4], 0x9b
call fcn.004205e0
push esi
mov esi, dword [0x51b504]
call esi
push dword [ebp - 0x78a4]
call esi
push 0x54e8a8
lea ecx, [ebp - 0x789c]
call fcn.00420550
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0xd2
call fcn.0042b6a0
mov esi, eax
lea ecx, [ebp - 0x7864]
call fcn.00421500
mov byte [ebp - 4], 0xd4
lea ecx, [ebp - 0x789c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7870]
call fcn.00421890
add esp, 4
push esi
mov edx, eax
lea ecx, [ebp - 0x788c]
mov byte [ebp - 4], 0xd5
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0xd6
mov ecx, dword [ebp - 0x78dc]
mov edx, eax
call fcn.0042d810
lea ecx, [ebp - 0x788c]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x789c]
jmp 0x432149
lea eax, [ebp - 0x5024]
push eax
lea ecx, [ebp - 0x78f4]
call fcn.004204a0
mov byte [ebp - 4], 0xd7
push dword [ebp - 0x78f4]
call fcn.004ee686
add esp, 4
lea ecx, [ebp - 0x7868]
push 0x54e95c
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xd8
call fcn.004204a0
lea ecx, [ebp - 0x786c]
call fcn.00421500
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0xda
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x78f4]
push ecx
mov edx, eax
lea ecx, [ebp - 0x788c]
mov byte [ebp - 4], 0xdb
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xdc
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x788c]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0xd7
call fcn.004205e0
push 0x54e394
mov ecx, ebx
call fcn.0043a040
mov esi, eax
mov ecx, esi
mov dword [ebp - 0x7868], esi
call fcn.0043a360
test al, al
je 0x431ff1
xor edi, edi
call fcn.00439b90
test eax, eax
jle 0x431ff1
lea ebx, [ebx]
push edi
mov ecx, esi
call fcn.00439e00
cmp byte [eax + 8], 4
push edi
mov ecx, esi
jne 0x431f5c
call fcn.00439e00
mov ecx, eax
call fcn.004396c0
mov edx, eax
lea ecx, [ebp - 0x78f4]
call fcn.004357b0
jmp 0x431fd9
call fcn.00439e00
cmp byte [eax + 8], 1
jne 0x431fe1
lea ecx, [ebp - 0x788c]
call fcn.00421500
mov esi, eax
mov byte [ebp - 4], 0xdd
mov ecx, dword [ebp - 0x7868]
push edi
call fcn.00439e00
mov ecx, eax
call fcn.00439800
push eax
mov edx, esi
lea ecx, [ebp - 0x7860]
call fcn.00421800
add esp, 4
lea ecx, [ebp - 0x788c]
mov byte [ebp - 4], 0xd7
call fcn.004205e0
lea edx, [ebp - 0x7860]
lea ecx, [ebp - 0x78f4]
call fcn.00435760
lea ecx, [ebp - 0x7860]
mov byte [ebp - 0x7875], al
call fcn.004205e0
mov esi, dword [ebp - 0x7868]
mov al, byte [ebp - 0x7875]
test al, al
jne 0x4321f4
mov ecx, esi
inc edi
call fcn.00439b90
cmp edi, eax
jl 0x431f30
push 0x54e628
lea ecx, [ebp - 0x786c]
call fcn.00420550
push 0x54e900
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0xde
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0xdf
call fcn.004204a0
lea ecx, [ebp - 0x7908]
call fcn.00421500
lea ecx, [ebp - 0x7864]
push ecx
mov edx, eax
lea ecx, [ebp - 0x78b4]
mov byte [ebp - 4], 0xe1
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x786c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x78c0]
mov byte [ebp - 4], 0xe2
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7890]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7888]
mov byte [ebp - 4], 0xe3
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0xe4
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7888]
call fcn.004205e0
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x78b4]
call fcn.004205e0
lea ecx, [ebp - 0x7908]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
push dword [ebp - 0x78a0]
mov esi, dword [0x51b504]
call esi
push dword [ebp - 0x78a4]
call esi
lea ecx, [ebp - 0x7860]
call fcn.00421500
mov byte [ebp - 4], 0xe5
push dword [ebp - 0x78f4]
lea eax, [ebp - 0x7860]
push 0x54e9e0
push eax
call fcn.00421610
mov ecx, dword [ebp - 0x78dc]
add esp, 0xc
lea edx, [ebp - 0x7860]
call fcn.0042d810
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x78f4]
call fcn.004205e0
lea ecx, [ebp - 0x78e4]
call fcn.004205e0
lea ecx, [ebp - 0x78b0]
call fcn.004205e0
lea ecx, [ebp - 0x78ec]
call fcn.004205e0
lea ecx, [ebp - 0x78e8]
call fcn.004205e0
lea ecx, [ebp - 0x78d4]
call fcn.004205e0
lea ecx, [ebp - 0x78b8]
call fcn.004205e0
lea ecx, [ebp - 0x78f0]
call fcn.004205e0
lea ecx, [ebp - 0x78d8]
call fcn.004205e0
lea ecx, [ebp - 0x7890]
call fcn.004205e0
lea ecx, [ebp - 0x78e0]
call fcn.004205e0
lea ecx, [ebp - 0x78d0]
call fcn.004205e0
lea ecx, [ebp - 0x78a8]
call fcn.004205e0
mov eax, dword [ebp - 0x78dc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004e9fca
mov esp, ebp
pop ebp
ret
push 0x54e988
lea ecx, [ebp - 0x7868]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xe6
call fcn.004204a0
lea ecx, [ebp - 0x7864]
call fcn.00421500
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x788c]
mov byte [ebp - 4], 0xe8
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xe9
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x788c]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
call fcn.004205e0
mov edi, dword [ebp - 0x78a0]
mov esi, dword [0x51b4f8]
push 0
lea eax, [ebp - 0x7920]
push eax
push 0
push 0x16
push edi
mov dword [ebp - 0x7920], 0
call esi
lea ecx, [ebp - 0x787c]
call fcn.00421500
mov byte [ebp - 4], 0xea
mov eax, dword [ebp - 0x7920]
test eax, eax
je 0x4323ea
push eax
call fcn.004eabc6
add esp, 4
mov dword [ebp - 0x7860], eax
test eax, eax
je 0x4323ea
push 0
lea ecx, [ebp - 0x7920]
push ecx
push eax
push 0x16
push edi
call esi
push dword [ebp - 0x7860]
lea ecx, [ebp - 0x787c]
mov esi, eax
call fcn.00420600
push dword [ebp - 0x7860]
call fcn.004eabc1
add esp, 4
lea ecx, [ebp - 0x7868]
test esi, esi
je 0x432360
push 0x54ea5c
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xeb
call fcn.004204a0
lea ecx, [ebp - 0x7864]
call fcn.00421500
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x788c]
mov byte [ebp - 4], 0xed
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0xee
push 0
jmp 0x4323aa
push 0x54ea2c
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xef
call fcn.004204a0
lea ecx, [ebp - 0x7864]
call fcn.00421500
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x788c]
mov byte [ebp - 4], 0xf1
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0xf2
push 2
mov edx, eax
lea ecx, [ebp - 0x7860]
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x788c]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0xea
call fcn.004205e0
push 0x54eab0
lea ecx, [ebp - 0x7868]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xf3
call fcn.004204a0
lea ecx, [ebp - 0x7864]
call fcn.00421500
lea ecx, [ebp - 0x7868]
push ecx
mov edx, eax
lea ecx, [ebp - 0x788c]
mov byte [ebp - 4], 0xf5
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7860]
mov byte [ebp - 4], 0xf6
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x788c]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x7860]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
call fcn.004205e0
mov dword [ebp - 0x7900], 0
mov dword [ebp - 0x78fc], 0
mov dword [ebp - 0x78f8], 0
xor esi, esi
push 0x2800
mov byte [ebp - 4], 0xf7
lea eax, [ebp - 0x782b]
push esi
push eax
mov dword [ebp - 0x790c], 0
mov dword [ebp - 0x7860], esi
mov dword [ebp - 0x7864], esi
mov byte [ebp - 0x782c], 0
call fcn.004eff70
add esp, 0xc
lea eax, [ebp - 0x7914]
push esi
push eax
lea eax, [ebp - 0x782c]
push eax
push 0x20000005
push edi
mov dword [ebp - 0x7914], 0x2800
call dword [0x51b4f8]
mov edi, eax
push 0x54ea94
lea ecx, [ebp - 0x7894]
mov dword [ebp - 0x7904], edi
call fcn.004204a0
push 0x54eae0
lea ecx, [ebp - 0x7898]
mov byte [ebp - 4], 0xf8
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0xf9
call fcn.004204a0
lea ecx, [ebp - 0x7910]
call fcn.00421500
lea ecx, [ebp - 0x7898]
mov byte [ebp - 4], 0xfb
push ecx
mov edx, eax
lea ecx, [ebp - 0x7928]
call fcn.00421890
add esp, 4
push edi
mov edx, eax
lea ecx, [ebp - 0x7874]
mov byte [ebp - 4], 0xfc
call fcn.00421800
add esp, 4
lea ecx, [ebp - 0x7894]
push ecx
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0xfd
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0xfe
push dword [ebp - 0x7914]
mov edx, eax
lea ecx, [ebp - 0x788c]
call fcn.00421800
add esp, 4
push esi
mov edx, eax
lea ecx, [ebp - 0x7868]
mov byte [ebp - 4], 0xff
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x788c]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x7928]
call fcn.004205e0
lea ecx, [ebp - 0x7910]
call fcn.004205e0
lea ecx, [ebp - 0x7868]
call fcn.004205e0
lea ecx, [ebp - 0x7898]
call fcn.004205e0
lea ecx, [ebp - 0x7894]
mov byte [ebp - 4], 0xf7
call fcn.004205e0
movsd xmm0, qword [0x5584b0]
push 0x54ead0
mov ecx, ebx
mov dword [ebp - 0x7868], 5
movsd qword [ebp - 0x793c], xmm0
call fcn.0043a170
test al, al
je 0x43268c
push 0x54ead0
mov ecx, ebx
call fcn.0043a040
mov ecx, eax
call fcn.0043a340
test al, al
je 0x43268c
push 0x54ead0
mov ecx, ebx
call fcn.0043a040
mov ecx, eax
call fcn.00439800
mov edi, eax
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x7868], edi
divsd xmm0, qword [0x5584d8]
mov edi, dword [ebp - 0x7904]
movsd qword [ebp - 0x793c], xmm0
test edi, edi
jne 0x4327ac
mov edx, 0x54eb30
lea ecx, [ebp - 0x78b8]
call fcn.0042c650
test al, al
je 0x4327ac
push 0x54eb00
lea ecx, [ebp - 0x7880]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7894]
mov dword [ebp - 4], 0x100
call fcn.004204a0
lea ecx, [ebp - 0x7910]
call fcn.00421500
lea ecx, [ebp - 0x7880]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7904]
mov byte [ebp - 4], 2
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7894]
mov byte [ebp - 4], 3
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7904]
call fcn.004205e0
lea ecx, [ebp - 0x7910]
call fcn.004205e0
lea ecx, [ebp - 0x7894]
call fcn.004205e0
lea ecx, [ebp - 0x7880]
call fcn.004205e0
lea ecx, [ebp - 0x7898]
call fcn.00421500
mov dword [ebp - 4], 0x104
call dword [0x51b0d4]
push eax
push dword [ebp - 0x7890]
lea eax, [ebp - 0x7898]
push 0x54cc88
push 0x54eb40
push eax
call fcn.00421610
add esp, 0x14
cmp byte [ebp - 0x789c], 0
je 0x432797
push ecx
mov ecx, esp
push 0x54d738
call fcn.004204a0
lea ecx, [ebp - 0x7898]
call fcn.00422b40
add esp, 4
mov dword [ebp - 0x7880], 0xffffffff
lea ecx, [ebp - 0x7898]
jmp 0x432a10
mov edx, dword [ebp - 0x7914]
test edx, edx
jle 0x4327da
lea ecx, [edx*8 - 8]
lea edi, [ebp - 0x782c]
movzx eax, byte [edi + edx - 1]
shl eax, cl
dec edx
sub ecx, 8
or esi, eax
test edx, edx
jg 0x4327c3
mov dword [ebp - 0x7860], esi
movd xmm0, esi
fnstcw word [ebp - 0x7896]
cvtdq2pd xmm0, xmm0
mov eax, esi
shr eax, 0x1f
push 0x54eb38
addsd xmm0, qword [eax*8 + 0x558510]
movzx eax, word [ebp - 0x7896]
or eax, 0xc00
mulsd xmm0, qword [ebp - 0x793c]
mov dword [ebp - 0x7904], eax
push 0x54de74
lea ecx, [ebp - 0x787c]
movsd qword [ebp - 0x78c4], xmm0
fld qword [ebp - 0x78c4]
fldcw word [ebp - 0x7904]
fistp qword [ebp - 0x78c4]
mov eax, dword [ebp - 0x78c4]
mov dword [ebp - 0x7864], eax
fldcw word [ebp - 0x7896]
call fcn.00421ef0
push 0x54eb64
lea ecx, [ebp - 0x786c]
call fcn.004204a0
push 0x54eb54
lea ecx, [ebp - 0x7874]
mov dword [ebp - 4], 0x105
call fcn.004204a0
push 0x54eb9c
lea ecx, [ebp - 0x7898]
mov byte [ebp - 4], 6
call fcn.004204a0
push 0x54e43c
lea ecx, [ebp - 0x7894]
mov byte [ebp - 4], 7
call fcn.004204a0
lea ecx, [ebp - 0x78c0]
call fcn.00421500
mov esi, eax
lea ecx, [ebp - 0x78b4]
call fcn.00421500
push esi
mov edx, eax
lea ecx, [ebp - 0x7908]
mov byte [ebp - 4], 0xa
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7898]
push ecx
mov edx, eax
lea ecx, [ebp - 0x792c]
mov byte [ebp - 4], 0xb
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x787c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7924]
mov byte [ebp - 4], 0xc
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x7874]
push ecx
mov edx, eax
lea ecx, [ebp - 0x788c]
mov byte [ebp - 4], 0xd
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0xe
push dword [ebp - 0x7860]
mov edx, eax
lea ecx, [ebp - 0x7928]
call fcn.00421800
add esp, 4
lea ecx, [ebp - 0x786c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7910]
mov byte [ebp - 4], 0xf
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0x10
cvttsd2si ecx, qword [ebp - 0x793c]
mov edx, eax
push ecx
lea ecx, [ebp - 0x7904]
call fcn.00421800
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7894]
mov byte [ebp - 4], 0x11
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7904]
call fcn.004205e0
lea ecx, [ebp - 0x7910]
call fcn.004205e0
lea ecx, [ebp - 0x7928]
call fcn.004205e0
lea ecx, [ebp - 0x788c]
call fcn.004205e0
lea ecx, [ebp - 0x7924]
call fcn.004205e0
lea ecx, [ebp - 0x792c]
call fcn.004205e0
lea ecx, [ebp - 0x7908]
call fcn.004205e0
lea ecx, [ebp - 0x78b4]
call fcn.004205e0
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x7894]
call fcn.004205e0
lea ecx, [ebp - 0x7898]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
mov dword [ebp - 4], 0xf7
call fcn.004205e0
xor eax, eax
push 0x54eb8c
lea ecx, [ebp - 0x7874]
mov dword [ebp - 0x7898], eax
lea esi, [eax + 1]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x786c]
mov dword [ebp - 4], 0x112
call fcn.004204a0
lea ecx, [ebp - 0x78b4]
call fcn.00421500
lea ecx, [ebp - 0x7874]
push ecx
mov edx, eax
lea ecx, [ebp - 0x78c0]
mov byte [ebp - 4], 0x14
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x786c]
mov byte [ebp - 4], 0x15
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x78b4]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7874]
mov dword [ebp - 4], 0xf7
call fcn.004205e0
mov eax, dword [ebp - 0x7868]
mov dword [ebp - 0x786c], eax
lea esp, [esp]
mov edi, dword [ebp - 0x78fc]
sub edi, dword [ebp - 0x7900]
lea ecx, [ebp - 0x7900]
lea eax, [edi + 0x2800]
push eax
call fcn.0042c6d0
mov ecx, dword [ebp - 0x7900]
lea eax, [ebp - 0x790c]
push eax
mov eax, esi
imul eax, eax, 0x2800
push eax
add ecx, edi
push ecx
push dword [ebp - 0x78a0]
mov dword [ebp - 0x790c], 0
call dword [0x51b4fc]
test eax, eax
jne 0x432b46
call dword [0x51b0d4]
cmp eax, 0x7a
jne 0x432e69
cmp esi, 0xa
jg 0x432e69
inc esi
mov dword [ebp - 0x790c], 0xffffffff
jmp 0x432ad0
cmp dword [ebp - 0x7880], 0
mov esi, 1
mov dword [ebp - 0x78c0], esi
jle 0x432bbb
mov eax, dword [ebp - 0x7898]
add eax, dword [ebp - 0x790c]
mov dword [ebp - 0x7898], eax
cmp eax, dword [ebp - 0x7864]
jb 0x432bbb
push eax
push ecx
mov ecx, dword [ebp - 0x7890]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.00420750
add eax, 0x10
mov dword [esi], eax
mov esi, dword [ebp - 0x786c]
push esi
push dword [ebp - 0x7880]
call dword [ebp - 0x7870]
xor eax, eax
add esp, 0x10
add esi, dword [ebp - 0x7868]
mov dword [ebp - 0x7898], eax
mov dword [ebp - 0x786c], esi
mov esi, dword [ebp - 0x78c0]
mov eax, dword [ebp - 0x790c]
add eax, edi
push eax
lea ecx, [ebp - 0x7900]
call fcn.0042c6d0
mov eax, dword [ebp - 0x7888]
cmp eax, 0xffffffff
je 0x432beb
push 0
push eax
call dword [0x51b140]
test eax, eax
je 0x432fd2
cmp dword [ebp - 0x790c], 0
jne 0x432ad0
push 0x54ec5c
lea ecx, [ebp - 0x7864]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7870]
mov dword [ebp - 4], 0x124
call fcn.004204a0
lea ecx, [ebp - 0x78b4]
call fcn.00421500
lea ecx, [ebp - 0x7864]
push ecx
mov edx, eax
lea ecx, [ebp - 0x78c0]
mov byte [ebp - 4], 0x26
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0x27
mov esi, dword [ebp - 0x78fc]
mov edi, dword [ebp - 0x7900]
sub esi, edi
push esi
mov edx, eax
lea ecx, [ebp - 0x7888]
mov dword [ebp - 0x7908], esi
call fcn.00421800
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x28
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7888]
call fcn.004205e0
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x78b4]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
mov dword [ebp - 4], 0xf7
call fcn.004205e0
cmp dword [ebp - 0x7860], esi
jbe 0x4330ad
push 0x54ec38
lea ecx, [ebp - 0x7864]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7870]
mov dword [ebp - 4], 0x129
call fcn.004204a0
lea ecx, [ebp - 0x78c0]
call fcn.00421500
lea ecx, [ebp - 0x7864]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7888]
mov byte [ebp - 4], 0x2b
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x2c
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7888]
call fcn.004205e0
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
mov dword [ebp - 4], 0xf7
call fcn.004205e0
push dword [ebp - 0x78a0]
mov esi, dword [0x51b504]
call esi
push dword [ebp - 0x78a4]
call esi
push 0x54c734
lea ecx, [ebp - 0x786c]
call fcn.004204a0
push 0x54ec98
lea ecx, [ebp - 0x7870]
mov dword [ebp - 4], 0x12d
call fcn.004204a0
lea ecx, [ebp - 0x7924]
call fcn.00421500
lea ecx, [ebp - 0x7870]
push ecx
mov edx, eax
lea ecx, [ebp - 0x792c]
mov byte [ebp - 4], 0x2f
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0x30
push dword [ebp - 0x7914]
mov edx, eax
lea ecx, [ebp - 0x78b4]
call fcn.00421800
add esp, 4
lea ecx, [ebp - 0x786c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x78c0]
mov byte [ebp - 4], 0x31
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0x32
push dword [ebp - 0x7908]
mov edx, eax
lea ecx, [ebp - 0x7888]
call fcn.00421800
add esp, 4
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x78dc]
mov edx, eax
call fcn.0042d810
lea ecx, [ebp - 0x7888]
call fcn.004205e0
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x78b4]
call fcn.004205e0
lea ecx, [ebp - 0x792c]
call fcn.004205e0
lea ecx, [ebp - 0x7924]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
jmp 0x432fac
push 0x54ebd4
lea ecx, [ebp - 0x7864]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7870]
mov dword [ebp - 4], 0x116
call fcn.004204a0
lea ecx, [ebp - 0x78c0]
call fcn.00421500
lea ecx, [ebp - 0x7864]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7888]
mov byte [ebp - 4], 0x18
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x19
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7888]
call fcn.004205e0
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
mov dword [ebp - 4], 0xf7
call fcn.004205e0
push dword [ebp - 0x78a0]
mov esi, dword [0x51b504]
call esi
push dword [ebp - 0x78a4]
call esi
push 0x54ebb0
lea ecx, [ebp - 0x786c]
call fcn.00420550
lea ecx, [ebp - 0x7908]
mov dword [ebp - 4], 0x11a
call fcn.0042b6a0
mov esi, eax
lea ecx, [ebp - 0x78b4]
call fcn.00421500
lea ecx, [ebp - 0x786c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x78c0]
mov byte [ebp - 4], 0x1c
call fcn.00421890
add esp, 4
push esi
mov edx, eax
lea ecx, [ebp - 0x7888]
mov byte [ebp - 4], 0x1d
call fcn.00421890
add esp, 4
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x78dc]
mov edx, eax
call fcn.0042d810
lea ecx, [ebp - 0x7888]
call fcn.004205e0
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x78b4]
call fcn.004205e0
lea ecx, [ebp - 0x7908]
call fcn.004205e0
lea ecx, [ebp - 0x786c]
call fcn.004205e0
lea ecx, [ebp - 0x7900]
call fcn.0042c6a0
lea ecx, [ebp - 0x787c]
jmp 0x43213e
push 0x54ec1c
lea ecx, [ebp - 0x7864]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7870]
mov dword [ebp - 4], 0x11f
call fcn.004204a0
lea ecx, [ebp - 0x78c0]
call fcn.00421500
lea ecx, [ebp - 0x7864]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7888]
mov byte [ebp - 4], 0x21
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x22
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7888]
call fcn.004205e0
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
mov dword [ebp - 4], 0xf7
call fcn.004205e0
push dword [ebp - 0x78a0]
mov esi, dword [0x51b504]
call esi
push dword [ebp - 0x78a4]
call esi
push 0x54ec10
lea ecx, [ebp - 0x78b4]
call fcn.00420550
mov dword [ebp - 4], 0x123
mov ecx, dword [ebp - 0x78dc]
mov edx, eax
call fcn.0042d810
lea ecx, [ebp - 0x78b4]
jmp 0x432fb7
push 0x2800
lea eax, [ebp - 0x281b]
push 0
push eax
mov byte [ebp - 0x281c], 0
call fcn.004eff70
mov esi, dword [ebp - 0x78a0]
add esp, 0xc
lea eax, [ebp - 0x7948]
push 0
push eax
lea eax, [ebp - 0x281c]
push eax
push 0x1d
push esi
mov dword [ebp - 0x7948], 0x2800
call dword [0x51b4f8]
cmp byte [ebp - 0x789c], 0
mov byte [ebp - 0x7881], 0
mov byte [ebp - 0x7875], 0
jne 0x433190
lea eax, [ebp - 0x7870]
push eax
lea eax, [ebp - 0x7875]
push eax
lea edx, [ebp - 0x7881]
mov ecx, edi
mov dword [ebp - 0x7870], 0
call fcn.0042c300
mov eax, dword [ebp - 0x7870]
add esp, 8
test eax, eax
jle 0x43315c
add eax, edi
push eax
push edi
lea eax, [ebp - 0x7888]
push eax
lea ecx, [ebp - 0x7900]
call fcn.00435a00
mov edi, dword [ebp - 0x7900]
cmp byte [ebp - 0x7875], 0
mov eax, dword [ebp - 0x78fc]
je 0x433190
mov ecx, edi
cmp edi, eax
je 0x433190
mov edi, eax
mov dl, byte [ecx]
mov bl, byte [ecx + 1]
mov byte [ecx + 1], dl
mov byte [ecx], bl
add ecx, 2
cmp ecx, edi
jne 0x433173
mov ebx, dword [ebp - 0x78ac]
mov edi, dword [ebp - 0x7900]
push esi
call dword [0x51b504]
lea ecx, [ebp - 0x78a0]
call fcn.00421500
mov dword [ebp - 4], 0x134
cmp byte [ebp - 0x789c], 0
je 0x43324b
push 0x54ec84
lea ecx, [ebp - 0x7864]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x35
call fcn.004204a0
lea ecx, [ebp - 0x78c0]
call fcn.00421500
lea ecx, [ebp - 0x7864]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7888]
mov byte [ebp - 4], 0x37
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x38
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7888]
call fcn.004205e0
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x34
call fcn.004205e0
jmp 0x433316
mov esi, dword [ebp - 0x78fc]
sub esi, edi
cmp byte [esi + edi - 1], 0
je 0x433295
inc esi
push esi
lea ecx, [ebp - 0x7900]
call fcn.0042c6d0
cmp byte [ebp - 0x7881], 0
mov edi, dword [ebp - 0x7900]
mov byte [esi + edi - 1], 0
je 0x4332e6
inc esi
push esi
lea ecx, [ebp - 0x7900]
call fcn.0042c6d0
mov edi, dword [ebp - 0x7900]
mov byte [esi + edi - 1], 0
jmp 0x4332b9
cmp byte [ebp - 0x7881], 0
je 0x4332e6
lea eax, [esi + 2]
push eax
lea ecx, [ebp - 0x7900]
call fcn.0042c6d0
mov edi, dword [ebp - 0x7900]
mov word [esi + edi], 0
push edi
lea ecx, [ebp - 0x7888]
call fcn.004204a0
push eax
lea ecx, [ebp - 0x78a0]
mov byte [ebp - 4], 0x39
call fcn.004222b0
lea ecx, [ebp - 0x7888]
mov byte [ebp - 4], 0x34
call fcn.004205e0
jmp 0x433316
push edi
lea ecx, [ebp - 0x7870]
call fcn.004355f0
lea edx, [ebp - 0x78a0]
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x3a
call fcn.0042c120
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x34
call fcn.004205e0
push 0x54e420
mov ecx, ebx
mov byte [ebp - 0x7875], 0
call fcn.0043a040
cmp byte [eax + 8], 4
jne 0x43372e
lea ecx, [ebp - 0x78ac]
call fcn.00421500
push 0x54e420
mov ecx, ebx
mov byte [ebp - 4], 0x3b
call fcn.0043a040
mov ecx, eax
call fcn.004396c0
push eax
lea ecx, [ebp - 0x78a8]
call fcn.0042c400
lea edx, [ebp - 0x78ac]
lea ecx, [ebp - 0x78a8]
call fcn.0042c120
push 0x54e454
lea ecx, [ebp - 0x7864]
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x3c
call fcn.004204a0
lea ecx, [ebp - 0x78b4]
call fcn.00421500
lea ecx, [ebp - 0x7864]
push ecx
mov edx, eax
lea ecx, [ebp - 0x78c0]
mov byte [ebp - 4], 0x3e
call fcn.00421890
add esp, 4
lea ecx, [ebp - 0x78ac]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7888]
mov byte [ebp - 4], 0x3f
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x40
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7888]
call fcn.004205e0
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x78b4]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x3b
call fcn.004205e0
mov esi, dword [ebp - 0x78ac]
cmp dword [esi - 0xc], 0
je 0x43371f
cmp byte [ebp - 0x789c], 0
push ecx
je 0x4335d0
lea ecx, [ebp - 0x7a04]
call fcn.00428ff0
sub esp, 8
lea ecx, [ebp - 0x7a04]
push esi
mov byte [ebp - 4], 0x41
call fcn.004359a0
cmp dword [ebp - 0x79b0], 0
lea ecx, [ebp - 0x7864]
je 0x43353a
push 0x54ed04
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x42
call fcn.004204a0
lea ecx, [ebp - 0x78c0]
call fcn.00421500
lea ecx, [ebp - 0x7864]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7888]
mov byte [ebp - 4], 0x44
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x45
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7888]
call fcn.004205e0
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
mov byte [ebp - 4], 0x41
call fcn.004205e0
mov eax, dword [ebp - 0x78fc]
push 0
sub eax, edi
push eax
push edi
lea ecx, [ebp - 0x7a04]
call fcn.00435850
lea ecx, [ebp - 0x7a04]
call fcn.00429120
lea ecx, [ebp - 0x7a04]
mov byte [ebp - 0x7875], 1
call fcn.00428d50
jmp 0x43371f
push 0x54ece4
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x46
call fcn.004204a0
lea ecx, [ebp - 0x78c0]
call fcn.00421500
lea ecx, [ebp - 0x7864]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7888]
mov byte [ebp - 4], 0x48
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x49
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7888]
call fcn.004205e0
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x7a04]
call fcn.00428d50
jmp 0x43371f
lea eax, [ebp - 0x78a0]
mov ecx, esp
push eax
mov byte [ebp - 0x7895], 1
call fcn.00420480
mov dl, byte [ebp - 0x7895]
lea ecx, [ebp - 0x78ac]
call fcn.0042b7f0
add esp, 4
lea ecx, [ebp - 0x7864]
test al, al
je 0x433699
push 0x54e470
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x4a
call fcn.004204a0
lea ecx, [ebp - 0x78c0]
call fcn.00421500
lea ecx, [ebp - 0x7864]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7888]
mov byte [ebp - 4], 0x4c
call fcn.00421890
add esp, 4
push 0
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x4d
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7888]
call fcn.004205e0
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
mov byte [ebp - 0x7875], 1
jmp 0x43371f
push 0x54ed2c
call fcn.00420550
push 0x54e43c
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x4e
call fcn.004204a0
lea ecx, [ebp - 0x78c0]
call fcn.00421500
lea ecx, [ebp - 0x7864]
push ecx
mov edx, eax
lea ecx, [ebp - 0x7888]
mov byte [ebp - 4], 0x50
call fcn.00421890
add esp, 4
push 2
mov edx, eax
lea ecx, [ebp - 0x7870]
mov byte [ebp - 4], 0x51
call fcn.004223b0
add esp, 4
lea ecx, [ebp - 0x7888]
call fcn.004205e0
lea ecx, [ebp - 0x78c0]
call fcn.004205e0
lea ecx, [ebp - 0x7870]
call fcn.004205e0
lea ecx, [ebp - 0x7864]
call fcn.004205e0
lea ecx, [ebp - 0x78ac]
mov byte [ebp - 4], 0x34
call fcn.004205e0
push 0
lea ecx, [ebp - 0x7944]
call fcn.00439250
mov eax, dword [ebp - 0x78c4]
and eax, 0xffffff05
or eax, 5
mov dword [ebp - 0x78c4], eax
mov dword [ebp - 0x78c0], 0
mov byte [ebp - 0x78cc], 1
lea eax, [ebp - 0x78cc]
push eax
push ecx
push 0x54e260
lea ecx, [ebp - 0x7944]
mov byte [ebp - 4], 0x53
call fcn.00439ec0
mov ecx, eax
call fcn.00439630
lea ecx, [ebp - 0x78cc]
mov byte [ebp - 4], 0x52
call fcn.00439570
push dword [ebp - 0x78a0]
lea ecx, [ebp - 0x791c]
call fcn.0042c370
mov byte [ebp - 4], 0x54
cmp byte [ebp - 0x7881], 0
je 0x4337c1
lea edx, [ebp - 0x791c]
lea ecx, [ebp - 0x78a0]
call fcn.0042c220
push 0
lea ecx, [ebp - 0x791c]
call fcn.0042c750
push eax
lea ecx, [ebp - 0x78cc]
call fcn.00439330
lea eax, [ebp - 0x78cc]
push eax
push ecx
push 0x54e340
lea ecx, [ebp - 0x7944]
mov byte [ebp - 4], 0x55
call fcn.00439ec0
mov ecx, eax
call fcn.00439630
lea ecx, [ebp - 0x78cc]
mov byte [ebp - 4], 0x54
call fcn.00439570
lea edx, [ebp - 0x787c]
lea ecx, [ebp - 0x785c]
call fcn.004212c0
push eax
lea ecx, [ebp - 0x78cc]
mov byte [ebp - 4], 0x56
call fcn.00439390
push ecx
push 0x54ed1c
lea ecx, [ebp - 0x7944]
mov byte [ebp - 4], 0x57
call fcn.00439ec0
lea ecx, [ebp - 0x78cc]
push ecx
push ecx
push 0x54ed54
mov ecx, eax
call fcn.00439ec0
mov ecx, eax
call fcn.00439630
lea ecx, [ebp - 0x78cc]
mov byte [ebp - 4], 0x56
call fcn.00439570
lea ecx, [ebp - 0x785c]
mov byte [ebp - 4], 0x54
call fcn.00420450
lea edx, [ebp - 0x78f4]
lea ecx, [ebp - 0x7844]
call fcn.004212c0
push eax
lea ecx, [ebp - 0x78cc]
mov byte [ebp - 4], 0x58
call fcn.00439390
push ecx
push 0x54ed1c
lea ecx, [ebp - 0x7944]
mov byte [ebp - 4], 0x59
call fcn.00439ec0
lea ecx, [ebp - 0x78cc]
push ecx
push ecx
push 0x54ed48
mov ecx, eax
call fcn.00439ec0
mov ecx, eax
call fcn.00439630
lea ecx, [ebp - 0x78cc]
mov byte [ebp - 4], 0x58
call fcn.00439570
lea ecx, [ebp - 0x7844]
mov byte [ebp - 4], 0x54
call fcn.00420450
push 0x54e420
mov ecx, ebx
call fcn.0043a040
cmp byte [eax + 8], 4
jne 0x433958
mov eax, dword [ebp - 0x78c4]
and eax, 0xffffff05
or eax, 5
mov dword [ebp - 0x78c4], eax
mov al, byte [ebp - 0x7875]
mov dword [ebp - 0x78c0], 0
mov byte [ebp - 0x78cc], al
lea eax, [ebp - 0x78cc]
push eax
push ecx
push 0x54ed60
lea ecx, [ebp - 0x7944]
mov byte [ebp - 4], 0x5a
call fcn.00439ec0
mov ecx, eax
call fcn.00439630
lea ecx, [ebp - 0x78cc]
mov byte [ebp - 4], 0x54
call fcn.00439570
push dword [ebp - 0x78a4]
call dword [0x51b504]
mov ecx, dword [ebp - 0x78dc]
lea eax, [ebp - 0x7944]
push eax
call fcn.00439400
lea ecx, [ebp - 0x791c]
mov dword [ebp - 0x7918], 1
call fcn.004205e0
lea ecx, [ebp - 0x7944]
mov byte [ebp - 4], 0x34
call fcn.00439570
lea ecx, [ebp - 0x78a0]
jmp 0x432fb7