Function at 0x4d20e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
xor eax, eax
push ebx
cmp dword [ebp + 8], eax
push esi
push edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
je 0x4d2132
cmp dword [ebp + 0xc], eax
je 0x4d2132
mov edi, dword [ebp + 0x10]
cmp edi, eax
je 0x4d2132
cmp dword [ebp + 0x14], eax
je 0x4d2132
push 0x1004cbe8
push dword [ebp + 8]
call 0x50c9a8
mov esi, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x18]
pop ecx
test eax, eax
pop ecx
jne 0x4d2237
test ebx, ebx
jne 0x4d2142
test esi, esi
je 0x4d2146
push 0x1021
call fcn.004d9848
pop ecx
pop edi
pop esi
pop ebx
leave
ret
test esi, esi
je 0x4d2132
mov eax, dword [ebp + 0x14]
test ebx, ebx
mov dword [ebp - 8], eax
je 0x4d216c
mov eax, dword [ebx]
mov dword [ebx], edi
cmp edi, eax
ja 0x4d2aaf
push edi
push dword [ebp + 0x14]
push esi
call 0x503bf8
add esp, 0xc
mov dword [ebp - 8], esi
push 0x1004cb80
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d21c4
cmp edi, 0xffff
ja 0x4d2132
sub esp, 0x214
mov ecx, 0x85
mov esi, 0x1004b4a0
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004da061
add esp, 0x214
test al, al
je 0x4d344a
push dword [ebp - 8]
mov eax, dword [0x1004b4a0]
push dword [ebp + 0x10]
push eax
push 0x1004cbe8
jmp 0x4d22b7
push 0x1004cb60
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d2237
cmp edi, 0xffff
ja 0x4d2132
sub esp, 0x214
mov ebx, 0x1004b8d0
mov ecx, 0x85
mov esi, ebx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004da061
add esp, 0x214
test al, al
je 0x4d344a
push 4
lea eax, [ebp - 0x10]
push ebx
push eax
call 0x503bf8
push dword [ebp - 8]
push dword [ebp + 0x10]
push dword [ebp - 0x10]
call fcn.004dbce2
add esp, 0x18
test ax, ax
jne 0x4d2739
jmp 0x4d347d
mov esi, 0x1004cbf8
push esi
push dword [ebp + 8]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d24ca
test ebx, ebx
jne 0x4d225d
cmp dword [ebp + 0x1c], ebx
je 0x4d2267
jmp 0x4d2132
cmp dword [ebp + 0x1c], 0
je 0x4d2132
mov eax, dword [ebp + 0x14]
test ebx, ebx
mov dword [ebp - 8], eax
je 0x4d2292
mov eax, dword [ebx]
mov dword [ebx], edi
cmp edi, eax
ja 0x4d2aaf
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x1c]
call 0x503bf8
mov eax, dword [ebp + 0x1c]
add esp, 0xc
mov dword [ebp - 8], eax
push 0x1004cb8c
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d22c4
cmp edi, 0xffff
ja 0x4d2132
push dword [ebp - 8]
push edi
push eax
push esi
call fcn.004d07f0
add esp, 0x10
jmp 0x4d213d
push 0x1004cbdc
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d23ed
cmp edi, 0xffff
ja 0x4d2132
lea eax, [ebp - 0xc]
push eax
push 1
call fcn.004ce9c9
pop ecx
test eax, eax
pop ecx
jne 0x4d213d
mov esi, 0x1004b0f2
push 0x1004ca28
push esi
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
je 0x4d234f
push 0x1004cc2c
push esi
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
je 0x4d234f
sub esp, 0x2c
mov esi, 0x1004b198
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9e9b
add esp, 0x2c
cmp eax, 0x64656d6f
je 0x4d2371
cmp dword [ebp - 0xc], 0x11121314
je 0x4d2371
jmp 0x4d24ba
sub esp, 0x2c
mov esi, 0x1004b198
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9e9b
add esp, 0x2c
cmp eax, 0x111213
jne 0x4d24ba
lea eax, [ebp - 0xc]
push eax
push 2
call fcn.004ce9c9
pop ecx
test eax, eax
pop ecx
jne 0x4d213d
lea eax, [ebp - 0xc]
push 4
push eax
lea eax, [ebp - 0x34]
push eax
call 0x503bf8
sub esp, 0x20
mov esi, 0x1004b1c8
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9e9b
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push 4
push eax
lea eax, [ebp - 0x30]
push eax
call 0x503bf8
add esp, 0x38
lea eax, [ebp - 0x2d]
push 8
pop esi
mov dl, byte [eax - 7]
lea ecx, [eax + 1]
xor dl, byte [eax]
dec esi
mov eax, ecx
mov byte [ecx], dl
jne 0x4d23c4
and byte [ebp - 0x24], 0
lea eax, [ebp - 0x34]
push eax
push dword [ebp + 0x10]
push dword [ebp - 8]
push 1
call fcn.004dba85
jmp 0x4d2a6b
push 0x1004cb70
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d24ca
cmp edi, 0xffff
ja 0x4d2132
sub esp, 0x214
mov ebx, 0x1004b6b8
mov ecx, 0x85
mov esi, ebx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004da061
add esp, 0x214
test al, al
je 0x4d344a
lea eax, [ebp - 0xc]
push eax
push 1
call fcn.004ce9c9
pop ecx
test eax, eax
pop ecx
jne 0x4d213d
mov esi, 0x1004b0f2
push 0x1004ca28
push esi
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
je 0x4d249c
push 0x1004cc2c
push esi
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
je 0x4d249c
sub esp, 0x2c
mov esi, 0x1004b198
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9e9b
add esp, 0x2c
cmp eax, 0x64656d6f
je 0x4d24c4
cmp dword [ebp - 0xc], 0x11121314
jmp 0x4d24b8
sub esp, 0x2c
mov esi, 0x1004b198
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9e9b
add esp, 0x2c
cmp eax, 0x111213
je 0x4d24c4
push 0x1062
jmp 0x4d2137
push ebx
jmp 0x4d23db
push 0x1004cc18
push dword [ebp + 8]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d2a7a
xor esi, esi
cmp ebx, esi
jne 0x4d24f1
cmp dword [ebp + 0x1c], esi
je 0x4d24fa
jmp 0x4d2132
cmp dword [ebp + 0x1c], esi
je 0x4d2132
mov ecx, dword [ebp + 0x14]
cmp ebx, esi
mov dword [ebp - 8], ecx
je 0x4d2523
mov eax, dword [ebx]
mov dword [ebx], edi
cmp edi, eax
ja 0x4d2aaf
push edi
push ecx
push dword [ebp + 0x1c]
call 0x503bf8
mov eax, dword [ebp + 0x1c]
add esp, 0xc
mov dword [ebp - 8], eax
push 0x1004cbc8
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d2766
push 1
call fcn.004da095
movzx eax, al
sub eax, esi
pop ecx
je 0x4d25e6
dec eax
jne 0x4d3484
mov esi, 0x1004b0f2
push 0x1004c9e0
push esi
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
je 0x4d3273
push 0x1004c9e4
push esi
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d25af
push dword [ebp + 8]
call fcn.004d99a2
pop ecx
mov dword [ebp - 0x80], 0x2c
mov dword [ebp - 0x7c], 2
push edi
lea ecx, [ebp - 0x80]
push dword [ebp - 8]
push ecx
push eax
call fcn.004f537e
push eax
call fcn.004da2b2
jmp 0x4d33aa
lea eax, [ebp - 0xc]
push eax
push 1
call fcn.004f4d34
test eax, eax
jne 0x4d2739
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0xc]
call fcn.004da069
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x54]
push eax
push edi
push dword [ebp - 8]
call fcn.004dc394
push 0
jmp 0x4d28ad
push 2
call fcn.004da095
test al, al
pop ecx
je 0x4d3273
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
movzx eax, byte [eax + 0x10055bc0]
dec eax
je 0x4d2725
dec eax
je 0x4d26ba
dec eax
je 0x4d266f
dec eax
jne 0x4d3484
sub esp, 0x2c
mov ebx, 0x1004b198
mov esi, ebx
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
mov al, byte [0x1004b1a8]
push 0
push dword [ebp - 8]
push dword [ebp + 0x10]
push eax
push ebx
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
push dword [eax + 0x10055c48]
call fcn.004edbc8
jmp 0x4d284c
sub esp, 0x2c
mov ebx, 0x1004b198
mov esi, ebx
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
push dword [ebp - 8]
mov al, byte [0x1004b1a8]
push dword [ebp + 0x10]
push eax
push ebx
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
push dword [eax + 0x10055c48]
call fcn.004eb8e8
jmp 0x4d28a6
sub esp, 0x2c
mov ebx, 0x1004b198
mov esi, ebx
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
sub esp, 0x2c
mov esi, ebx
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9e9b
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0xc]
push 1
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004e9b38
add esp, 0x38
test ax, ax
jne 0x4d2739
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0xc]
call fcn.004da069
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x54]
push eax
push dword [ebp + 0x10]
jmp 0x4d25d7
lea eax, [ebp - 0xc]
push eax
push 1
call fcn.004d56c5
pop ecx
cmp eax, esi
pop ecx
mov dword [ebp - 0x10], eax
je 0x4d2743
push 0x1013
jmp 0x4d2137
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0xc]
call fcn.004da069
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x54]
push eax
push edi
push dword [ebp - 8]
call fcn.004dc394
push esi
jmp 0x4d28ad
push 0x1004cb1c
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d28ba
push 1
call fcn.004da095
movzx eax, al
sub eax, esi
pop ecx
je 0x4d27c8
dec eax
jne 0x4d3484
push 0x1004c9e4
push 0x1004b0f2
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d33b6
push dword [ebp + 8]
call fcn.004d99a2
pop ecx
mov dword [ebp - 0x80], 0x2c
mov dword [ebp - 0x7c], 3
jmp 0x4d2596
push 2
call fcn.004da095
test al, al
pop ecx
je 0x4d3273
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
movzx eax, byte [eax + 0x10055bc0]
dec eax
je 0x4d33b6
dec eax
je 0x4d33b6
dec eax
je 0x4d2860
dec eax
jne 0x4d3484
sub esp, 0x2c
mov ebx, 0x1004b198
mov esi, ebx
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
mov al, byte [0x1004b1a8]
push 0
push dword [ebp - 8]
push dword [ebp + 0x10]
push eax
push ebx
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
push dword [eax + 0x10055c48]
call fcn.004edcb8
push eax
call fcn.004da20c
push eax
call fcn.004d9848
add esp, 0x20
jmp 0x4d213d
sub esp, 0x2c
mov ebx, 0x1004b198
mov esi, ebx
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
push dword [ebp - 8]
mov al, byte [0x1004b1a8]
push dword [ebp + 0x10]
push eax
push ebx
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
push dword [eax + 0x10055c48]
call fcn.004eb9b8
push eax
call fcn.004da13f
push eax
call fcn.004d9848
add esp, 0x1c
jmp 0x4d213d
push 0x1004cb48
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d2a1e
push 1
call fcn.004da095
movzx eax, al
sub eax, esi
pop ecx
je 0x4d29a6
dec eax
jne 0x4d3484
push 0x1004c9e4
push 0x1004b0f2
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d33b6
push dword [ebp + 8]
call fcn.004d99a2
sub esp, 0x210
mov ebx, 0x1004bae8
mov ecx, 0x85
mov esi, ebx
mov edi, esp
mov dword [ebp + 0xc], eax
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x80], 0x2c
mov dword [ebp - 0x7c], 4
call fcn.004da061
add esp, 0x214
test al, al
je 0x4d2967
and dword [ebp - 0x78], 0
push 0x10
lea eax, [ebp - 0x74]
push ebx
push eax
call 0x503bf8
push 0x10
lea eax, [ebp - 0x64]
push 0x1004baf8
push eax
call 0x503bf8
add esp, 0x18
jmp 0x4d2994
cmp byte [0x1004bcf8], 1
mov dword [ebp - 0x78], 1
jne 0x4d2990
push 0x10
lea eax, [ebp - 0x64]
push 0x1004baf8
push eax
mov byte [ebp - 0x74], 1
call 0x503bf8
add esp, 0xc
jmp 0x4d2994
and byte [ebp - 0x74], 0
push dword [ebp + 0x10]
lea eax, [ebp - 0x80]
push dword [ebp - 8]
push eax
push dword [ebp + 0xc]
jmp 0x4d259f
push 2
call fcn.004da095
test al, al
pop ecx
je 0x4d3273
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
movzx ecx, byte [eax + 0x10055bc0]
dec ecx
je 0x4d33b6
dec ecx
je 0x4d33b6
dec ecx
je 0x4d2a06
dec ecx
jne 0x4d3484
push esi
push dword [ebp - 8]
push edi
push dword [eax + 0x10055c48]
call fcn.004ee028
push eax
call fcn.004da20c
push eax
call fcn.004d9848
add esp, 0x18
jmp 0x4d213d
push dword [ebp - 8]
push edi
push dword [eax + 0x10055c48]
call fcn.004ebcb8
push eax
call fcn.004da13f
push eax
jmp 0x4d2a6d
push 0x1004caf4
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d2a7c
sub esp, 0x214
mov ebx, 0x1004bf18
mov ecx, 0x85
mov esi, ebx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004da061
add esp, 0x214
test al, al
je 0x4d344a
push 0x1004bf28
push ebx
push dword [ebp + 0x10]
push dword [ebp - 8]
call fcn.004dc394
push 0
call fcn.004d9848
add esp, 0x14
jmp 0x4d213d
xor esi, esi
push 0x1004cc08
push dword [ebp + 8]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d2132
cmp ebx, esi
je 0x4d2132
cmp dword [ebp + 0x1c], esi
je 0x4d2132
mov esi, dword [ebx]
cmp edi, esi
mov dword [ebp - 8], esi
jbe 0x4d2ab9
mov dword [ebx], edi
push 0x1052
jmp 0x4d2137
push 0x1004cacc
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d2dd9
push 1
call fcn.004da095
movzx eax, al
sub eax, 0
pop ecx
je 0x4d2bc4
dec eax
jne 0x4d3484
push 0x1004c9e4
push 0x1004b0f2
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d33b6
sub esp, 0x214
mov ecx, 0x85
mov esi, 0x1004c130
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004da061
add esp, 0x214
test al, al
je 0x4d344a
push dword [ebp + 8]
call fcn.004d99a2
pop ecx
cmp dword [0x1004c334], 0
push 1
mov dword [ebp + 0xc], eax
pop eax
mov dword [ebp - 0x80], 0x2c
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov eax, dword [0x1004c33c]
mov dword [ebp - 0x74], eax
je 0x4d2ba1
sub esp, 0x2c
mov esi, 0x1004b228
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
mov eax, dword [0x1004c334]
mov ecx, dword [0x1004b238]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 0x1004b228
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0x1004c130
lea eax, [ebp - 0x20]
mov dword [ebp - 0x6c], eax
jmp 0x4d2ba5
and dword [ebp - 0x6c], 0
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x80]
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push eax
push dword [ebp + 0xc]
jmp 0x4d3258
push 2
call fcn.004da095
test al, al
pop ecx
je 0x4d3273
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
movzx eax, byte [eax + 0x10055bc0]
dec eax
je 0x4d33b6
dec eax
je 0x4d33b6
dec eax
je 0x4d2cf5
dec eax
jne 0x4d3484
sub esp, 0x2c
mov ebx, 0x1004b198
mov esi, ebx
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
sub esp, 0x214
mov ecx, 0x85
mov esi, 0x1004c130
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004da061
add esp, 0x214
test al, al
je 0x4d344a
cmp dword [0x1004c334], 0
je 0x4d2cd3
sub esp, 0x2c
mov esi, 0x1004b228
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
mov ax, word [0x1004c334]
push 0
push 0x1004c130
push eax
mov ax, word [0x1004c33c]
mov esi, 0x1004b228
push eax
sub esp, 0x2c
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9e9b
add esp, 0x2c
push eax
mov al, byte [0x1004b1a8]
push eax
push ebx
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
push dword [eax + 0x10055c48]
call fcn.004eda58
add esp, 0x20
test ax, ax
je 0x4d2cd3
push eax
call fcn.004da20c
jmp 0x4d33aa
mov eax, dword [ebp - 8]
push 0
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push dword [0x1004c33c]
push 1
jmp 0x4d32ea
sub esp, 0x2c
mov ebx, 0x1004b198
mov esi, ebx
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
sub esp, 0x214
mov ecx, 0x85
mov esi, 0x1004c130
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004da061
add esp, 0x214
test al, al
je 0x4d344a
cmp dword [0x1004c334], 0
je 0x4d2dbb
sub esp, 0x2c
mov esi, 0x1004b228
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
mov ax, word [0x1004c334]
push 0x1004c130
push eax
mov ax, word [0x1004c33c]
push eax
mov esi, 0x1004b228
sub esp, 0x2c
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9e9b
add esp, 0x2c
push eax
mov al, byte [0x1004b1a8]
push eax
push ebx
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
push dword [eax + 0x10055c48]
call fcn.004eb7b8
add esp, 0x1c
test ax, ax
jne 0x4d33a4
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push dword [0x1004c33c]
jmp 0x4d30c9
push 0x1004cab8
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d30d0
push 1
call fcn.004da095
movzx eax, al
sub eax, 0
pop ecx
je 0x4d2ec2
dec eax
jne 0x4d3484
push 0x1004c9e4
push 0x1004b0f2
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d33b6
sub esp, 0x214
mov ecx, 0x85
mov esi, 0x1004c348
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004da061
add esp, 0x214
test al, al
je 0x4d344a
push dword [ebp + 8]
call fcn.004d99a2
pop ecx
cmp dword [0x1004c54c], 0
push 1
mov dword [ebp + 0xc], eax
pop eax
mov dword [ebp - 0x80], 0x2c
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov eax, dword [0x1004c554]
mov dword [ebp - 0x74], eax
je 0x4d2ba1
sub esp, 0x2c
mov esi, 0x1004b228
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
mov eax, dword [0x1004c54c]
mov ecx, dword [0x1004b238]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 0x1004b228
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0x1004c348
jmp 0x4d2b99
push 2
call fcn.004da095
test al, al
pop ecx
je 0x4d3273
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
movzx eax, byte [eax + 0x10055bc0]
dec eax
je 0x4d33b6
dec eax
je 0x4d33b6
dec eax
je 0x4d2fea
dec eax
jne 0x4d3484
sub esp, 0x2c
mov ebx, 0x1004b198
mov esi, ebx
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
sub esp, 0x214
mov ecx, 0x85
mov esi, 0x1004c348
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004da061
add esp, 0x214
test al, al
je 0x4d344a
cmp dword [0x1004c54c], 0
je 0x4d2fca
sub esp, 0x2c
mov esi, 0x1004b228
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
mov ax, word [0x1004c54c]
push 0
push 0x1004c348
push eax
mov ax, word [0x1004c554]
mov esi, 0x1004b228
push eax
sub esp, 0x2c
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9e9b
add esp, 0x2c
push eax
mov al, byte [0x1004b1a8]
push eax
push ebx
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
push dword [eax + 0x10055c48]
call fcn.004eda58
add esp, 0x20
test ax, ax
jne 0x4d2cc8
mov eax, dword [ebp - 8]
push 0
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push dword [0x1004c554]
jmp 0x4d2cee
sub esp, 0x2c
mov ebx, 0x1004b198
mov esi, ebx
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
sub esp, 0x214
mov ecx, 0x85
mov esi, 0x1004c348
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004da061
add esp, 0x214
test al, al
je 0x4d344a
cmp dword [0x1004c54c], 0
je 0x4d30b0
sub esp, 0x2c
mov esi, 0x1004b228
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
mov ax, word [0x1004c54c]
push 0x1004c348
push eax
mov ax, word [0x1004c554]
push eax
mov esi, 0x1004b228
sub esp, 0x2c
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9e9b
add esp, 0x2c
push eax
mov al, byte [0x1004b1a8]
push eax
push ebx
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
push dword [eax + 0x10055c48]
call fcn.004eb7b8
add esp, 0x1c
test ax, ax
jne 0x4d33a4
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push dword [0x1004c554]
push 1
jmp 0x4d336c
push 0x1004cbb0
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d31e0
push 1
call fcn.004da095
movzx eax, al
sub eax, 0
pop ecx
je 0x4d3142
dec eax
jne 0x4d3484
push 0x1004c9e4
push 0x1004b0f2
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d33b6
push dword [ebp + 8]
call fcn.004d99a2
pop ecx
and dword [ebp - 0x78], 0
lea ecx, [ebp - 4]
mov dword [ebp - 0x80], 0x2c
push ecx
mov dword [ebp - 0x7c], 2
push dword [ebp + 0x1c]
mov dword [ebp - 4], esi
push edi
jmp 0x4d3250
push 2
call fcn.004da095
test al, al
pop ecx
je 0x4d3273
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
movzx eax, byte [eax + 0x10055bc0]
dec eax
je 0x4d33b6
dec eax
je 0x4d33b6
dec eax
je 0x4d31af
dec eax
jne 0x4d3484
sub esp, 0x2c
mov ebx, 0x1004b198
mov esi, ebx
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
call fcn.004ee078
jmp 0x4d32d5
sub esp, 0x2c
mov ebx, 0x1004b198
mov esi, ebx
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
call fcn.004ee078
jmp 0x4d3359
push 0x1004cb98
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d33c0
push 1
pop edi
push edi
call fcn.004da095
movzx eax, al
sub eax, 0
pop ecx
je 0x4d3267
dec eax
jne 0x4d3484
push 0x1004c9e4
push 0x1004b0f2
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d33b6
push dword [ebp + 8]
call fcn.004d99a2
pop ecx
mov dword [ebp - 0x80], 0x2c
lea ecx, [ebp - 4]
mov dword [ebp - 0x7c], 2
push ecx
mov dword [ebp - 0x78], edi
push dword [ebp + 0x1c]
mov dword [ebp - 4], esi
push dword [ebp + 0x10]
push dword [ebp + 0x14]
lea ecx, [ebp - 0x80]
push ecx
push eax
call fcn.004f53a3
mov ecx, dword [ebp - 4]
mov dword [ebx], ecx
jmp 0x4d25a4
push 2
call fcn.004da095
test al, al
pop ecx
jne 0x4d327d
push 0x1011
jmp 0x4d2137
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
movzx eax, byte [eax + 0x10055bc0]
dec eax
je 0x4d33b6
dec eax
je 0x4d33b6
dec eax
je 0x4d3327
dec eax
jne 0x4d3484
sub esp, 0x2c
mov ebx, 0x1004b198
mov esi, ebx
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
je 0x4d3344
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
call fcn.004ee068
lea ecx, [ebp - 4]
push 0
push ecx
mov dword [ebp - 0x10], eax
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push eax
push 2
mov al, byte [0x1004b1a8]
push 0x1004b1b4
push eax
push ebx
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
push dword [eax + 0x10055c48]
call fcn.004edda8
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 4]
add esp, 0x2c
test ax, ax
mov dword [edx], ecx
je 0x4d347d
jmp 0x4d2cc8
sub esp, 0x2c
mov ebx, 0x1004b198
mov esi, ebx
push 0xb
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004d9edb
add esp, 0x2c
test al, al
jne 0x4d334e
push 0x1022
jmp 0x4d2137
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
call fcn.004ee068
lea ecx, [ebp - 4]
mov dword [ebp - 0x10], eax
push ecx
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push eax
push 2
mov al, byte [0x1004b1a8]
push 0x1004b1b4
push eax
push ebx
movzx eax, word [0x1004b0f0]
imul eax, eax, 0x98
push dword [eax + 0x10055c48]
call fcn.004eba88
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 4]
add esp, 0x28
test ax, ax
mov dword [edx], ecx
je 0x4d347d
push eax
call fcn.004da13f
push eax
call fcn.004d9848
pop ecx
jmp 0x4d213c
push 0x1001
jmp 0x4d2137
push 0x1004caa0
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d3410
sub esp, 0x214
mov ecx, 0x85
mov esi, 0x1004c560
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004da061
add esp, 0x214
test al, al
je 0x4d344a
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push 0x1004c560
jmp 0x4d346c
push 0x1004ca88
push dword [ebp + 0xc]
call 0x50c9a8
pop ecx
test eax, eax
pop ecx
jne 0x4d2132
sub esp, 0x214
mov ecx, 0x85
mov esi, 0x1004c778
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004da061
add esp, 0x214
test al, al
jne 0x4d3454
push 0x1050
jmp 0x4d2137
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push 0x1004c778
call fcn.004dc6a7
mov ecx, dword [ebp - 4]
add esp, 0x14
test eax, eax
mov dword [ebx], ecx
jne 0x4d3484
push 0
jmp 0x4d2137
push 0x1034
jmp 0x4d2137