Function at 0x42cd10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f801e
mov eax, dword fs:[0]
push eax
sub esp, 0x15c
mov eax, dword [0x54b07c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x154], ecx
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, 1
mov dword [ebp - 0xbc], 0xf
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x120], eax
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov byte [ebp - 0xd0], al
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], al
mov dword [ebp - 4], 1
xor ebx, ebx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], al
xor al, al
mov byte [ebp - 4], 2
mov byte [ebp - 0xf5], al
xor cl, cl
mov eax, dword [ebp + 0xc]
mov byte [ebp - 0xfd], bl
mov byte [ebp - 0xfe], bl
mov byte [ebp - 0xea], cl
mov eax, dword [eax]
mov dword [ebp - 0x124], ebx
mov edi, dword [eax]
mov dword [ebp - 0xf4], edi
cmp edi, dword [eax + 4]
je 0x42db3f
test cl, cl
jne 0x42d32c
sub esp, 0x18
xor eax, eax
mov ebx, esp
mov dword [ebp - 0x160], ebx
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], eax
mov byte [ebp - 4], 3
mov ecx, edi
cmp dword [edi + 0x14], 0x10
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x118], edi
jb 0x42cea8
mov ecx, dword [edi]
mov dword [ebp - 0x118], ecx
cmp eax, 0x7fffffff
ja 0x42e580
mov dword [ebx + 0x14], 0xf
cmp eax, 0x10
jae 0x42ceda
mov dword [ebx + 0x10], eax
mov eax, dword [ecx]
mov dword [ebx], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 4], eax
mov eax, dword [ecx + 8]
mov dword [ebx + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0xc], eax
jmp 0x42cf14
push eax
mov ecx, ebx
call fcn.00401ee0
mov esi, eax
lea ecx, [esi + 1]
push ecx
mov ecx, ebx
call fcn.00401df0
mov ecx, dword [ebp - 0x114]
mov dword [ebx + 0x10], ecx
inc ecx
push ecx
push dword [ebp - 0x118]
mov dword [ebx], eax
push eax
mov dword [ebx + 0x14], esi
call fcn.004c77d0
mov esi, dword [ebp - 0x110]
add esp, 0xc
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 2
call fcn.0042b5d0
add esp, 0x18
cmp al, 2
jne 0x42d031
cmp byte [ebp - 0xfd], 0
je 0x42cf62
mov eax, dword [ebp + 0xc]
mov cl, 1
mov ebx, dword [ebp - 0x104]
sub edi, 0x18
mov esi, dword [ebp - 0x110]
add edi, 0x18
mov byte [ebp - 0xea], cl
mov eax, dword [eax]
mov byte [ebp - 0xfd], 0
jmp 0x42ce50
cmp dword [ebp - 0xbc], 0x10
lea eax, [ebp - 0xd0]
jb 0x42cf77
mov eax, dword [ebp - 0xd0]
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x88]
push eax
call fcn.0041ebb0
sub esp, 0x18
lea eax, [ebp - 0x88]
mov ecx, esp
push eax
call fcn.00401d10
mov ecx, esi
call fcn.0043a000
test al, al
je 0x42d001
mov ebx, dword [ebp - 0x10c]
xor al, al
mov byte [ebp - 0xf5], al
mov byte [ebp - 0xfd], 1
mov byte [ebp - 0xfe], 0
mov eax, dword [ebx + 4]
push edi
cmp eax, dword [ebx + 8]
je 0x42cfd7
mov ecx, eax
call fcn.00401d10
add dword [ebx + 4], 0x18
jmp 0x42cfdf
push eax
mov ecx, ebx
call fcn.004021e0
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 3
imul esi, eax, 0xaaaaaaab
mov dword [ebp - 0x124], esi
mov ebx, dword [ebp - 0x78]
mov dword [ebp - 0x104], ebx
jmp 0x42d31b
mov eax, dword [ebp + 0xc]
add edi, 0x18
mov ebx, dword [ebp - 0x78]
mov cl, byte [ebp - 0xea]
mov esi, dword [ebp - 0x110]
mov eax, dword [eax]
mov byte [ebp - 0xfe], 1
mov byte [ebp - 0xf5], 1
mov dword [ebp - 0x104], ebx
jmp 0x42ce50
cmp al, 3
jne 0x42d2d4
cmp byte [ebp - 0xfe], 0
jne 0x42db20
sub esp, 0x18
lea eax, [ebp - 0x88]
mov ecx, esp
push eax
call fcn.00401d10
mov ecx, esi
call fcn.0043a000
test al, al
je 0x42cff3
sub esp, 0x18
lea eax, [ebp - 0x88]
mov ecx, esp
push eax
call fcn.00401d10
mov ecx, esi
call fcn.0043a340
sub esp, 0x18
mov esi, eax
lea eax, [ebp - 0xd0]
mov ecx, esp
push eax
call fcn.00401d10
mov ecx, esi
call fcn.0043a000
test al, al
je 0x42cff3
sub esp, 0x18
lea eax, [ebp - 0xd0]
mov ecx, esp
push eax
call fcn.00401d10
mov ecx, esi
call fcn.0043a120
push eax
lea ecx, [ebp - 0xa0]
call fcn.00401d10
mov byte [ebp - 4], 4
lea eax, [ebp - 0xa0]
cmp dword [ebp - 0x8c], 0x10
jb 0x42d0d9
mov eax, dword [ebp - 0xa0]
cmp dword [ebp - 0xa4], 0x10
lea ecx, [ebp - 0xb8]
jb 0x42d0ee
mov ecx, dword [ebp - 0xb8]
push dword [ebp - 0x90]
mov edx, dword [ebp - 0xa8]
push eax
call fcn.00402330
add esp, 8
test al, al
je 0x42d133
mov ebx, dword [ebp - 0x10c]
push edi
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
je 0x42d126
mov ecx, eax
call fcn.00401d10
add dword [ebx + 4], 0x18
jmp 0x42d2a6
push eax
mov ecx, ebx
call fcn.004021e0
jmp 0x42d2a6
lea ecx, [ebp - 0xa0]
call fcn.0042b490
push edi
lea ecx, [ebp - 0xe8]
call fcn.00401d10
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov eax, 0x2020
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x14], 0xf
mov word [ebp - 0x28], ax
mov byte [ebp - 0x26], 0
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov eax, 0x3d5c
mov dword [ebp - 0x48], 2
mov dword [ebp - 0x44], 0xf
mov word [ebp - 0x58], ax
mov byte [ebp - 0x56], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 9
push eax
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0xe8]
call fcn.0042b560
add esp, 4
lea ecx, [ebp - 0x58]
call fcn.00401c70
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.00401c70
cmp dword [ebp - 0xd4], 0x10
lea esi, [ebp - 0xe8]
setae byte [ebp - 0xe9]
jb 0x42d1e5
mov esi, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0xd8]
test ebx, ebx
je 0x42d203
push ebx
push 0x3d
push esi
call fcn.004c7f20
add esp, 0xc
test eax, eax
je 0x42d203
sub eax, esi
jmp 0x42d206
or eax, 0xffffffff
cmp byte [ebp - 0xe9], 0
lea ecx, [ebp - 0xe8]
je 0x42d21b
mov ecx, dword [ebp - 0xe8]
push 6
lea esi, [eax + 1]
mov edx, ebx
push ecx
push esi
call fcn.0043d420
add esp, 0xc
mov ebx, eax
lea eax, [ebp - 0x70]
mov ecx, edi
push ebx
push 0
push eax
call fcn.00404180
mov eax, dword [ebp - 0x144]
mov byte [ebp - 4], 0xa
cmp byte [eax + 0x18], 0
je 0x42d25d
cmp esi, ebx
jne 0x42d25d
push 0x541a64
lea ecx, [ebp - 0x70]
call fcn.004093b0
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x70]
call fcn.00404200
mov ebx, dword [ebp - 0x10c]
lea ecx, [ebp - 0x70]
push ecx
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
je 0x42d28b
mov ecx, eax
call fcn.00401d10
add dword [ebx + 4], 0x18
jmp 0x42d293
push eax
mov ecx, ebx
call fcn.004021e0
lea ecx, [ebp - 0x70]
call fcn.00401c70
lea ecx, [ebp - 0xe8]
call fcn.00401c70
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0xa0]
sub eax, dword [ebx]
sar eax, 3
imul esi, eax, 0xaaaaaaab
mov byte [ebp - 4], 2
mov dword [ebp - 0x124], esi
call fcn.00401c70
mov ebx, dword [ebp - 0x78]
mov dword [ebp - 0x104], ebx
jmp 0x42d31b
cmp byte [ebp - 0xf5], 0
je 0x42d2ed
cmp dword [edi + 0x10], 0
jne 0x42d2ed
xor al, al
mov byte [ebp - 0xf5], al
jmp 0x42d315
cmp al, 4
je 0x42d315
mov ebx, dword [ebp - 0x10c]
push edi
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
je 0x42d30d
mov ecx, eax
call fcn.00401d10
add dword [ebx + 4], 0x18
jmp 0x42d315
push eax
mov ecx, ebx
call fcn.004021e0
mov ebx, dword [ebp - 0x104]
mov ecx, dword [ebp + 0xc]
lea eax, [edi + 0x18]
mov ecx, dword [ecx]
cmp eax, dword [ecx + 4]
jne 0x42db26
xor eax, eax
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x148], eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0xf0], eax
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x88]
cmp dword [ebp - 0x74], 0x10
mov dword [ebp - 0x108], ecx
setae byte [ebp - 0xe9]
jb 0x42d396
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x108], ecx
cmp ebx, 0x7fffffff
ja 0x42e580
mov dword [ebp - 0x14], 0xf
cmp ebx, 0x10
jae 0x42d3ca
mov dword [ebp - 0x18], ebx
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x1c], eax
jmp 0x42d410
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x42d3de
mov esi, Ordinal_1
jmp 0x42d3e8
cmp esi, 0x16
jae 0x42d3e8
mov esi, 0x16
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x28]
call fcn.00401df0
lea ecx, [ebx + 1]
mov dword [ebp - 0x28], eax
push ecx
push dword [ebp - 0x108]
mov dword [ebp - 0x18], ebx
push eax
mov dword [ebp - 0x14], esi
call fcn.004c77d0
add esp, 0xc
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xd
call fcn.0042b490
lea ecx, [ebp - 0x28]
call fcn.0042b520
mov ecx, dword [ebp - 0x110]
lea eax, [ebp - 0x28]
push eax
call fcn.0043cdd0
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00401c70
cmp esi, 1
jne 0x42dae3
sub esp, 0x18
xor eax, eax
mov esi, esp
mov dword [ebp - 0x164], esi
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0xfc], ecx
cmp byte [ebp - 0xe9], al
je 0x42d488
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0xfc], ecx
mov dword [esi + 0x14], 0xf
cmp ebx, 0x10
jae 0x42d4af
mov dword [esi + 0x10], ebx
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [ecx + 4]
mov dword [esi + 4], eax
mov eax, dword [ecx + 8]
mov dword [esi + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esi + 0xc], eax
jmp 0x42d52a
mov eax, dword [esi + 0x14]
mov ecx, ebx
or ecx, 0xf
cmp ecx, 0x7fffffff
jbe 0x42d4cc
mov eax, Ordinal_1
mov dword [ebp - 0x108], eax
jmp 0x42d500
mov edx, eax
mov eax, Ordinal_1
shr edx, 1
sub eax, edx
cmp dword [esi + 0x14], eax
jbe 0x42d4e9
mov eax, Ordinal_1
mov dword [ebp - 0x108], eax
jmp 0x42d500
mov eax, dword [esi + 0x14]
add eax, edx
mov dword [ebp - 0x108], eax
cmp ecx, eax
jb 0x42d500
mov eax, ecx
mov dword [ebp - 0x108], ecx
inc eax
mov ecx, esi
push eax
call fcn.00401df0
mov ecx, dword [ebp - 0x108]
mov dword [esi + 0x14], ecx
lea ecx, [ebx + 1]
push ecx
push dword [ebp - 0xfc]
mov dword [esi], eax
push eax
mov dword [esi + 0x10], ebx
call fcn.004c77d0
add esp, 0xc
mov esi, dword [ebp - 0x154]
mov ecx, esi
mov byte [ebp - 4], 0xb
call fcn.0043a000
test al, al
je 0x42dae3
sub esp, 0x18
lea eax, [ebp - 0x88]
mov ecx, esp
push eax
call fcn.00401d10
mov ecx, dword [ebp - 0x110]
call fcn.0043a340
sub esp, 0x18
mov ebx, eax
lea eax, [ebp - 0x88]
mov ecx, esp
push eax
call fcn.00401d10
mov ecx, esi
call fcn.0043a340
mov esi, dword [ebx + 0x20]
mov dword [ebp - 0x128], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x104], esi
mov dword [ebp - 0xf0], eax
cmp esi, eax
je 0x42dada
lea esp, [esp]
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 0xf
mov ecx, esi
cmp dword [esi + 0x14], 0x10
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0xfc], esi
jb 0x42d5d7
mov ecx, dword [esi]
mov dword [ebp - 0xfc], ecx
cmp ebx, 0x7fffffff
ja 0x42e580
cmp ebx, 0x10
jae 0x42d618
mov dword [ebp - 0x30], ebx
mov edx, 0xf
mov dword [ebp - 0x2c], edx
mov eax, dword [ecx]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x40], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x38], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xfc]
jmp 0x42d65f
push ebx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0xf
call fcn.00401ee0
mov ebx, eax
lea ecx, [ebx + 1]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00401df0
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x30], ecx
inc ecx
push ecx
push dword [ebp - 0xfc]
mov dword [ebp - 0x40], eax
push eax
mov dword [ebp - 0x2c], ebx
call fcn.004c77d0
mov edx, dword [ebp - 0x2c]
add esp, 0xc
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x158], ecx
xor ecx, ecx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], ecx
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x40]
mov dword [ebp - 0xfc], ecx
cmp edx, 0x10
jb 0x42d696
mov ecx, eax
mov dword [ebp - 0xfc], eax
cmp ebx, 0x7fffffff
ja 0x42e580
mov dword [ebp - 0x44], 0xf
cmp ebx, 0x10
jae 0x42d6ca
mov dword [ebp - 0x48], ebx
mov eax, dword [ecx]
mov dword [ebp - 0x58], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x54], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x50], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x4c], eax
jmp 0x42d71f
mov eax, ebx
or eax, 0xf
mov dword [ebp - 0x108], eax
cmp eax, 0x7fffffff
jbe 0x42d6e3
mov eax, Ordinal_1
jmp 0x42d6ed
cmp eax, 0x16
jae 0x42d6f3
mov eax, 0x16
mov dword [ebp - 0x108], eax
inc eax
lea ecx, [ebp - 0x58]
push eax
call fcn.00401df0
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x44], ecx
lea ecx, [ebx + 1]
push ecx
push dword [ebp - 0xfc]
mov dword [ebp - 0x58], eax
push eax
mov dword [ebp - 0x48], ebx
call fcn.004c77d0
add esp, 0xc
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x12
call fcn.0042b490
lea ecx, [ebp - 0x58]
call fcn.0042b520
mov ecx, dword [ebp - 0x128]
lea eax, [ebp - 0x58]
push eax
call fcn.0043cdd0
lea ecx, [ebp - 0x58]
mov ebx, eax
call fcn.00401c70
cmp ebx, 1
je 0x42da54
xor eax, eax
lea ecx, [esi + 0x18]
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x13
cmp dword [ecx + 0x14], 0x10
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x108], eax
jb 0x42d78d
mov ecx, dword [ecx]
mov dword [ebp - 0xfc], ecx
cmp eax, 0x7fffffff
ja 0x42e580
mov dword [ebp - 0x14], 0xf
cmp eax, 0x10
jae 0x42d7c0
mov dword [ebp - 0x18], eax
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x1c], eax
jmp 0x42d7f7
push eax
lea ecx, [ebp - 0x28]
call fcn.00401ee0
mov ebx, eax
lea ecx, [ebx + 1]
push ecx
lea ecx, [ebp - 0x28]
call fcn.00401df0
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x18], ecx
inc ecx
push ecx
push dword [ebp - 0xfc]
mov dword [ebp - 0x28], eax
push eax
mov dword [ebp - 0x14], ebx
call fcn.004c77d0
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov eax, 0x3d5c
mov dword [ebp - 0x48], 2
mov dword [ebp - 0x44], 0xf
mov word [ebp - 0x58], ax
mov byte [ebp - 0x56], 0
xor eax, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov ecx, 0xf
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], ecx
mov word [ebp - 0x70], 0x3d
mov byte [ebp - 4], 0x18
xor ebx, ebx
mov edi, dword [ebp - 0x70]
mov esi, dword [ebp - 0x48]
nop
lea eax, [ebp - 0x70]
cmp ecx, 0x10
jb 0x42d85a
mov eax, edi
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x40]
jb 0x42d866
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x30]
push 1
push eax
push ebx
call fcn.0043d4d0
mov ebx, eax
lea ecx, [ebp - 0x58]
add esp, 0xc
cmp ebx, 0xffffffff
je 0x42d8a1
cmp dword [ebp - 0x44], 0x10
jb 0x42d888
mov ecx, dword [ebp - 0x58]
push esi
push ecx
push 1
push ebx
lea ecx, [ebp - 0x40]
call fcn.0043c570
mov esi, dword [ebp - 0x48]
mov ecx, 0xf
add ebx, esi
jmp 0x42d850
mov byte [ebp - 4], 0x16
mov esi, dword [ebp - 0x104]
mov edi, dword [ebp - 0xf4]
mov byte [ebp - 4], 0x14
call fcn.00401c70
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
setae byte [ebp - 0xe9]
jb 0x42d8cd
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x18]
push 6
sub esp, 8
call fcn.0043d360
add esp, 0xc
lea ecx, [eax + 1]
cmp dword [ebp - 0x18], ecx
jb 0x42e585
cmp byte [ebp - 0xe9], 0
lea eax, [ebp - 0x28]
je 0x42d8f8
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], ecx
mov byte [eax + ecx], 0
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
setae byte [ebp - 0xe9]
jb 0x42d912
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x18]
mov edx, ebx
push 6
push ecx
push 0
call fcn.0043d420
add esp, 0xc
cmp ebx, eax
jae 0x42d92a
mov eax, ebx
cmp byte [ebp - 0xe9], 0
lea edx, [ebp - 0x28]
je 0x42d939
mov edx, dword [ebp - 0x28]
sub ebx, eax
add eax, edx
lea ecx, [ebx + 1]
push ecx
push eax
push edx
call fcn.004c77d0
mov eax, dword [ebp - 0x144]
add esp, 0xc
mov dword [ebp - 0x18], ebx
mov edx, 0x541a60
cmp byte [eax + 0x18], 0
jne 0x42d964
mov edx, 0x541a54
mov ecx, edx
lea ebx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d970
sub ecx, ebx
mov eax, Ordinal_1
mov ebx, dword [ebp - 0x30]
sub eax, ebx
cmp eax, ecx
jb 0x42e580
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
jb 0x42d997
mov eax, dword [ebp - 0x40]
push ecx
push edx
push ebx
push eax
push ecx
push dword [ebp - 0x128]
lea ecx, [ebp - 0x70]
call fcn.00404aa0
mov ebx, dword [ebp - 0x11c]
or ebx, 0x20
mov dword [ebp - 0x120], ebx
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0x70]
call fcn.00404200
push eax
lea ecx, [ebp - 0xa0]
call fcn.00401cc0
or ebx, 0x40
mov dword [ebp - 0x11c], ebx
mov dword [ebp - 0x120], ebx
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0xa0]
mov ebx, dword [ebp - 0x118]
push eax
cmp ebx, dword [ebp - 0x114]
je 0x42da15
mov ecx, ebx
call fcn.00401cc0
add ebx, 0x18
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x14c], ebx
jmp 0x42da39
push ebx
lea ecx, [ebp - 0x150]
call fcn.00404bc0
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x118], eax
lea ecx, [ebp - 0xa0]
call fcn.00401c70
lea ecx, [ebp - 0x70]
call fcn.00401c70
lea ecx, [ebp - 0x28]
call fcn.00401c70
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x42da8c
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42da82
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e58a
push ecx
push edx
call fcn.0049dbeb
add esp, 8
add esi, 0x30
mov dword [ebp - 0x104], esi
cmp esi, dword [ebp - 0xf0]
jne 0x42d5a0
mov ecx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x118]
cmp ecx, eax
je 0x42dada
mov edx, dword [ebp - 0x10c]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xaaaaaaab
push eax
mov eax, dword [ebp - 0x124]
push ecx
lea ecx, [eax + eax*2]
mov eax, dword [edx]
lea eax, [eax + ecx*8]
mov ecx, edx
push eax
call fcn.00422470
mov ebx, dword [ebp - 0x78]
mov dword [ebp - 0x104], ebx
mov al, byte [ebp - 0xea]
test al, al
je 0x42daf8
xor al, al
sub edi, 0x18
mov byte [ebp - 0xea], al
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 2
call fcn.004042e0
mov eax, dword [ebp + 0xc]
add edi, 0x18
mov cl, byte [ebp - 0xea]
mov esi, dword [ebp - 0x110]
mov eax, dword [eax]
jmp 0x42ce50
mov ebx, dword [ebp - 0x104]
mov eax, dword [ebp + 0xc]
add edi, 0x18
mov cl, byte [ebp - 0xea]
mov esi, dword [ebp - 0x110]
mov eax, dword [eax]
jmp 0x42ce50
mov edi, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x118], eax
cmp edi, eax
je 0x42e51c
lea esp, [esp]
lea eax, [ebp - 0x140]
mov dword [ebp - 0x158], eax
xor eax, eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov byte [ebp - 4], 0x1b
mov ecx, edi
cmp dword [edi + 0x14], 0x10
mov ebx, dword [edi + 0x10]
mov dword [ebp - 0xf4], edi
jb 0x42dbaf
mov ecx, dword [edi]
mov dword [ebp - 0xf4], ecx
cmp ebx, 0x7fffffff
ja 0x42e580
mov dword [ebp - 0x12c], 0xf
cmp ebx, 0x10
jae 0x42dbf5
mov dword [ebp - 0x130], ebx
mov eax, dword [ecx]
mov dword [ebp - 0x140], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x13c], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x138], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x134], eax
jmp 0x42dc47
mov esi, ebx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x42dc09
mov esi, Ordinal_1
jmp 0x42dc13
cmp esi, 0x16
jae 0x42dc13
mov esi, 0x16
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x140]
call fcn.00401df0
lea ecx, [ebx + 1]
mov dword [ebp - 0x140], eax
push ecx
push dword [ebp - 0xf4]
mov dword [ebp - 0x130], ebx
push eax
mov dword [ebp - 0x12c], esi
call fcn.004c77d0
add esp, 0xc
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x1c
call fcn.0042b490
mov ecx, dword [ebp - 0x12c]
lea eax, [ebp - 0x140]
mov ebx, dword [ebp - 0x140]
cmp ecx, 0x10
mov dword [ebp - 0xf4], eax
setae dl
jb 0x42dc7c
mov dword [ebp - 0xf4], ebx
test dl, dl
lea eax, [ebp - 0x140]
mov edx, dword [ebp - 0x130]
je 0x42dc93
mov esi, ebx
lea eax, [edx + ebx]
jmp 0x42dc9b
add eax, edx
lea esi, [ebp - 0x140]
mov dword [ebp - 0x114], eax
cmp esi, eax
je 0x42dcdc
mov ebx, dword [ebp - 0xf4]
mov edi, eax
sub ebx, esi
nop
movsx eax, byte [esi]
push eax
call fcn.004cfb69
mov byte [ebx + esi], al
add esp, 4
inc esi
cmp esi, edi
jne 0x42dcb0
mov edi, dword [ebp - 0x110]
mov edx, dword [ebp - 0x130]
mov ebx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x12c]
cmp ecx, 0x10
lea eax, [ebp - 0x140]
mov dword [ebp - 0xf4], eax
setae byte [ebp - 0xe9]
jb 0x42dcfa
mov dword [ebp - 0xf4], ebx
xor ecx, ecx
mov esi, 0x811c9dc5
test edx, edx
je 0x42dd27
mov edi, dword [ebp - 0xf4]
jmp 0x42dd10
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edx
jb 0x42dd10
mov edi, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x154]
lea eax, [ebp - 0x140]
push esi
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.0043e230
cmp byte [ebp - 0xe9], 0
mov esi, dword [eax + 4]
mov byte [ebp - 4], 2
je 0x42dd80
mov ecx, dword [ebp - 0x12c]
mov eax, ebx
inc ecx
cmp ecx, 0x1000
jb 0x42dd76
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e58a
push ecx
push ebx
call fcn.0049dbeb
add esp, 8
test esi, esi
jne 0x42e507
mov eax, dword [ebp - 0x144]
mov ebx, dword [ebp - 0x10c]
cmp byte [eax + 0x18], 0
je 0x42dddf
mov ecx, dword [ebx + 4]
mov eax, ecx
sub eax, dword [ebx]
sar eax, 3
imul eax, eax, 0xaaaaaaab
test eax, eax
je 0x42dddf
cmp dword [ecx - 8], esi
je 0x42dddf
cmp ecx, dword [ebx + 8]
je 0x42ddd7
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0xf
mov byte [ecx], al
add dword [ebx + 4], 0x18
jmp 0x42dddf
push ecx
mov ecx, ebx
call fcn.0043e510
mov ecx, dword [edi + 0x10]
mov eax, Ordinal_1
sub eax, ecx
cmp eax, 1
jb 0x42e580
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x42ddfc
mov eax, dword [edi]
push ecx
push eax
push 1
push 0x541a5c
push ecx
push dword [ebp - 0xf0]
lea ecx, [ebp - 0xa0]
call fcn.00404aa0
mov esi, dword [ebp - 0x11c]
or esi, 0x10
mov dword [ebp - 0x120], esi
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x8c]
mov eax, edx
mov ecx, dword [ebp - 0x90]
sub eax, ecx
cmp eax, 1
jb 0x42de67
lea eax, [ecx + 1]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa0]
cmp edx, 0x10
jb 0x42de59
mov eax, dword [ebp - 0xa0]
mov word [eax + ecx], 0x5d
lea edx, [ebp - 0xa0]
jmp 0x42de83
push 1
push 0x541a58
push dword [ebp - 0xf0]
lea ecx, [ebp - 0xa0]
push 1
call fcn.00404790
mov edx, eax
mov ecx, dword [edx]
or esi, 8
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x70], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [edx + 8]
mov dword [ebp - 0x68], ecx
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x60], eax
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x5c], eax
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0x120], esi
mov byte [ebp - 4], 0x1e
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
je 0x42dee4
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0x70]
push eax
call fcn.00401cc0
add dword [ebx + 4], 0x18
jmp 0x42def0
lea ecx, [ebp - 0x70]
push ecx
push eax
mov ecx, ebx
call fcn.00404bc0
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x42df28
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42df1e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e58a
push ecx
push edx
call fcn.0049dbeb
add esp, 8
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 2
call fcn.00401c70
mov esi, dword [edi + 0x38]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x114], esi
mov dword [ebp - 0xfc], eax
cmp esi, eax
je 0x42e507
lea edx, [esi + 0x2c]
mov dword [ebp - 0x124], edx
lea ebx, [ebx]
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x1f
mov ecx, esi
cmp dword [edx - 0x18], 0x10
mov eax, dword [edx - 0x1c]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xf4], esi
jb 0x42df97
mov ecx, dword [esi]
mov dword [ebp - 0xf4], ecx
cmp eax, 0x7fffffff
ja 0x42e580
mov dword [ebp - 0x14], 0xf
cmp eax, 0x10
jae 0x42dfca
mov dword [ebp - 0x18], eax
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x1c], eax
jmp 0x42e01a
mov ebx, eax
or ebx, 0xf
cmp ebx, 0x7fffffff
jbe 0x42dfde
mov ebx, Ordinal_1
jmp 0x42dfe8
cmp ebx, 0x16
jae 0x42dfe8
mov ebx, 0x16
lea eax, [ebx + 1]
push eax
lea ecx, [ebp - 0x28]
call fcn.00401df0
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x18], ecx
inc ecx
push ecx
push dword [ebp - 0xf4]
mov dword [ebp - 0x28], eax
push eax
mov dword [ebp - 0x14], ebx
call fcn.004c77d0
mov edx, dword [ebp - 0x124]
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 0x21
lea ecx, [edx - 0x14]
cmp dword [edx], 0x10
mov eax, dword [edx - 4]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xf4], ecx
jb 0x42e051
mov ecx, dword [ecx]
mov dword [ebp - 0xf4], ecx
cmp eax, 0x7fffffff
ja 0x42e580
mov dword [ebp - 0x2c], 0xf
cmp eax, 0x10
jae 0x42e084
mov dword [ebp - 0x30], eax
mov eax, dword [ecx]
mov dword [ebp - 0x40], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x38], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x34], eax
jmp 0x42e0ce
mov ebx, eax
or ebx, 0xf
cmp ebx, 0x7fffffff
jbe 0x42e098
mov ebx, Ordinal_1
jmp 0x42e0a2
cmp ebx, 0x16
jae 0x42e0a2
mov ebx, 0x16
lea eax, [ebx + 1]
push eax
lea ecx, [ebp - 0x40]
call fcn.00401df0
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x30], ecx
inc ecx
push ecx
push dword [ebp - 0xf4]
mov dword [ebp - 0x40], eax
push eax
mov dword [ebp - 0x2c], ebx
call fcn.004c77d0
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov eax, 0x3d5c
mov dword [ebp - 0x48], 2
mov dword [ebp - 0x44], 0xf
mov word [ebp - 0x58], ax
mov byte [ebp - 0x56], 0
xor eax, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov ecx, 0xf
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], ecx
mov word [ebp - 0x70], 0x3d
mov byte [ebp - 4], 0x26
xor ebx, ebx
mov esi, dword [ebp - 0x70]
mov edi, dword [ebp - 0x48]
lea eax, [ebp - 0x70]
cmp ecx, 0x10
jb 0x42e130
mov eax, esi
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
jb 0x42e13c
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x18]
push 1
push eax
push ebx
call fcn.0043d4d0
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x42e177
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
jb 0x42e15e
mov eax, dword [ebp - 0x58]
push edi
push eax
push 1
push ebx
lea ecx, [ebp - 0x28]
call fcn.0043c570
mov edi, dword [ebp - 0x48]
mov ecx, 0xf
add ebx, edi
jmp 0x42e126
mov byte [ebp - 4], 0x24
mov esi, dword [ebp - 0x114]
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x42e1b9
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e1af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e58a
push ecx
push edx
call fcn.0049dbeb
add esp, 8
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x40]
setae byte [ebp - 0xe9]
jb 0x42e1cc
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x30]
push 6
sub esp, 8
call fcn.0043d360
inc eax
add esp, 0xc
cmp dword [ebp - 0x30], eax
jb 0x42e585
cmp byte [ebp - 0xe9], 0
lea ecx, [ebp - 0x40]
je 0x42e1f5
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x30], eax
mov byte [ecx + eax], 0
lea ecx, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
setae byte [ebp - 0xe9]
jb 0x42e20f
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x30]
mov edx, ebx
push 6
push ecx
push 0
call fcn.0043d420
add esp, 0xc
cmp ebx, eax
jae 0x42e227
mov eax, ebx
cmp byte [ebp - 0xe9], 0
lea edx, [ebp - 0x40]
je 0x42e236
mov edx, dword [ebp - 0x40]
sub ebx, eax
add eax, edx
lea ecx, [ebx + 1]
push ecx
push eax
push edx
call fcn.004c77d0
mov eax, dword [ebp - 0x144]
add esp, 0xc
mov dword [ebp - 0x30], ebx
mov edx, 0x541a60
cmp byte [eax + 0x18], 0
jne 0x42e261
mov edx, 0x541a54
mov eax, edx
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e266
sub eax, ebx
mov ecx, Ordinal_1
mov ebx, dword [ebp - 0x18]
sub ecx, ebx
cmp ecx, eax
jb 0x42e580
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
jb 0x42e28d
mov ecx, dword [ebp - 0x28]
push eax
push edx
push ebx
push ecx
push ecx
push dword [ebp - 0xf0]
lea ecx, [ebp - 0x58]
call fcn.00404aa0
mov eax, dword [ebp - 0x11c]
or eax, 4
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x120], eax
mov byte [ebp - 4], 0x27
lea edx, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
mov ebx, dword [ebp - 0x30]
jb 0x42e2c8
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
sub eax, ecx
mov dword [ebp - 0xf0], ecx
cmp ebx, eax
ja 0x42e31c
cmp dword [ebp - 0x44], 0x10
lea eax, [ecx + ebx]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0xf4], eax
jb 0x42e2f8
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xf4], eax
push ebx
add eax, ecx
push edx
push eax
call fcn.004c77d0
mov eax, dword [ebp - 0xf4]
add esp, 0xc
mov ecx, dword [ebp - 0xf0]
add eax, ebx
mov byte [eax + ecx], 0
lea eax, [ebp - 0x58]
jmp 0x42e32d
push ebx
push edx
push dword [ebp - 0xf0]
lea ecx, [ebp - 0x58]
push ebx
call fcn.00404790
mov edi, dword [eax + 0xc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0x64], edi
mov edi, dword [eax + 0x10]
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x60], edi
mov edi, dword [eax + 0x14]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0x5c], edi
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x11c]
or eax, 2
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x120], eax
mov edi, dword [ebp - 0x10c]
mov byte [ebp - 4], 0x28
mov eax, dword [edi + 4]
cmp eax, dword [edi + 8]
mov edi, dword [ebp - 0x110]
je 0x42e3e1
mov eax, dword [ebp - 0x10c]
mov byte [ebp - 0x70], 0
mov eax, dword [eax + 4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xf0]
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov ebx, dword [ebp - 0x10c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x128]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 0x14], ecx
mov ecx, 0xf
add dword [ebx + 4], 0x18
jmp 0x42e3f4
lea ecx, [ebp - 0x70]
push ecx
mov ecx, dword [ebp - 0x10c]
push eax
call fcn.00404bc0
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x27
cmp ecx, 0x10
jb 0x42e429
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e41f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e58a
push ecx
push edx
call fcn.0049dbeb
add esp, 8
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x42e461
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e457
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e58a
push ecx
push edx
call fcn.0049dbeb
add esp, 8
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x42e499
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e48f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e58a
push ecx
push edx
call fcn.0049dbeb
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp ecx, 0x10
jb 0x42e4e3
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e4d9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e58a
push ecx
push edx
call fcn.0049dbeb
add esp, 8
mov edx, dword [ebp - 0x124]
add esi, 0x30
add edx, 0x30
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x124], edx
cmp esi, dword [ebp - 0xfc]
jne 0x42df60
add edi, 0x44
mov dword [ebp - 0x110], edi
cmp edi, dword [ebp - 0x118]
jne 0x42db60
mov eax, dword [ebp - 0x74]
cmp eax, 0x10
jb 0x42e551
mov edx, dword [ebp - 0x88]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x42e547
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e58a
push ecx
push edx
call fcn.0049dbeb
add esp, 8
lea ecx, [ebp - 0xd0]
call fcn.00423d70
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049dba8
mov esp, ebp
pop ebp
ret 0x10
call fcn.004018c0
call fcn.00404350
call fcn.004cb586
int3