Function at 0x411560
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 0x20]
push esi
mov esi, dword [ebp + 0xc]
xor edx, edx
push edi
mov dword [ebp - 0xc], ebx
cmp dword [ebp + 0x14], edx
jle 0x41181a
mov edi, dword [ebp + 0x10]
movsx ecx, word [edi + edx*4]
test ecx, ecx
je case.0x4115a4.35
movzx eax, word [edi + edx*4 + 2]
and ecx, 0xff
dec ecx
or ebx, 1
cmp ecx, 0x40
ja case.0x4115a4.35
jmp dword [ecx*4 + 0x412d14]
add dword [esi], eax
jmp case.0x4115a4.35
add dword [esi + 4], eax
jmp case.0x4115a4.35
add dword [esi + 8], eax
jmp case.0x4115a4.35
add dword [esi + 0xc], eax
jmp case.0x4115a4.35
add dword [esi + 0x10], eax
jmp case.0x4115a4.35
add dword [esi + 0x14], eax
jmp case.0x4115a4.35
add dword [esi + 4], eax
add dword [esi + 8], eax
add dword [esi + 0xc], eax
add dword [esi + 0x10], eax
add dword [esi + 0x14], eax
add dword [esi + 0x18], eax
jmp case.0x4115a4.35
add dword [esi + 0x20], eax
jmp case.0x4115a4.35
add dword [esi + 0x24], eax
jmp case.0x4115a4.35
add dword [esi + 0x28], eax
jmp case.0x4115a4.35
add dword [esi + 0x2c], eax
jmp case.0x4115a4.35
add dword [esi + 0x30], eax
jmp case.0x4115a4.35
add dword [esi + 0x34], eax
jmp case.0x4115a4.35
add dword [esi + 0x38], eax
jmp case.0x4115a4.35
add dword [esi + 0x20], eax
add dword [esi + 0x24], eax
add dword [esi + 0x28], eax
add dword [esi + 0x2c], eax
add dword [esi + 0x30], eax
add dword [esi + 0x34], eax
add dword [esi + 0x38], eax
add dword [esi + 0x3c], eax
jmp case.0x4115a4.35
add dword [esi + 0x44], eax
jmp case.0x4115a4.35
add dword [esi + 0x48], eax
jmp case.0x4115a4.35
add dword [esi + 0x4c], eax
jmp case.0x4115a4.35
add dword [esi + 0x50], eax
jmp case.0x4115a4.35
add dword [esi + 0x54], eax
jmp case.0x4115a4.35
add dword [esi + 0x58], eax
jmp case.0x4115a4.35
add dword [esi + 0x5c], eax
jmp case.0x4115a4.35
add dword [esi + 0x44], eax
add dword [esi + 0x48], eax
add dword [esi + 0x4c], eax
add dword [esi + 0x50], eax
add dword [esi + 0x54], eax
add dword [esi + 0x58], eax
add dword [esi + 0x5c], eax
add dword [esi + 0x60], eax
jmp case.0x4115a4.35
add dword [esi + 0x64], eax
jmp case.0x4115a4.35
add dword [esi + 0x68], eax
jmp case.0x4115a4.35
add dword [esi + 0x6c], eax
jmp case.0x4115a4.35
mov dword [esi + 0x70], eax
jmp case.0x4115a4.35
mov dword [esi + 0x74], eax
jmp case.0x4115a4.35
mov dword [esi + 0x78], eax
jmp case.0x4115a4.35
add dword [esi + 0x9c], eax
jmp case.0x4115a4.35
add dword [esi + 0xa0], eax
jmp case.0x4115a4.35
add dword [esi + 0x80], eax
jmp case.0x4115a4.35
add dword [esi + 0x84], eax
jmp case.0x4115a4.35
add dword [esi + 0x88], eax
jmp case.0x4115a4.35
add dword [esi + 0x8c], eax
jmp case.0x4115a4.35
add dword [esi + 0x90], eax
jmp case.0x4115a4.35
add dword [esi + 0x80], eax
add dword [esi + 0x84], eax
add dword [esi + 0x88], eax
add dword [esi + 0x8c], eax
add dword [esi + 0x90], eax
add dword [esi + 0x94], eax
jmp case.0x4115a4.35
mov dword [esi + 0x98], eax
jmp case.0x4115a4.35
add dword [esi + 0xa8], eax
jmp case.0x4115a4.35
add dword [esi + 0xac], eax
jmp case.0x4115a4.35
add dword [esi + 0xb0], eax
jmp case.0x4115a4.35
add dword [esi + 0xb4], eax
jmp case.0x4115a4.35
add dword [esi + 0xb8], eax
jmp case.0x4115a4.35
add dword [esi + 0xbc], eax
jmp case.0x4115a4.35
add dword [esi + 0xc0], eax
jmp case.0x4115a4.35
add dword [esi + 0xc4], eax
jmp case.0x4115a4.35
add dword [esi + 0xc8], eax
jmp case.0x4115a4.35
add dword [esi + 0xcc], eax
jmp case.0x4115a4.35
add dword [esi + 0xd0], eax
jmp case.0x4115a4.35
mov ecx, eax
sar ecx, 8
mov byte [esi + 0xd4], cl
mov byte [esi + 0xd5], al
jmp case.0x4115a4.35
mov ecx, eax
sar ecx, 8
mov byte [esi + 0xd6], cl
mov byte [esi + 0xd7], al
jmp case.0x4115a4.35
mov ecx, eax
sar ecx, 8
mov byte [esi + 0xd8], cl
mov byte [esi + 0xd9], al
jmp case.0x4115a4.35
add dword [esi + 0xda], eax
jmp case.0x4115a4.35
add dword [esi + 0xde], eax
jmp case.0x4115a4.35
mov dword [esi + 0xe2], eax
jmp case.0x4115a4.35
mov dword [esi + 0xe6], eax
inc edx
cmp edx, dword [ebp + 0x14]
jl 0x411580
mov dword [ebp - 0xc], ebx
test ebx, ebx
je 0x412d08
mov eax, dword [esi]
mov ebx, dword [ebp + 8]
test eax, eax
je 0x411974
mov cl, byte [ebp + 0x1c]
test cl, 1
je 0x4118ce
mov ecx, dword [ebp + 0x18]
cmp ecx, 1
jge 0x411848
mov ecx, 1
push ecx
push eax
call fcn.00527b40
add esp, 8
cmp byte [ebx], 0
mov dword [ebp + 0x14], eax
je 0x411872
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411860
mov dx, word [0x5c05a8]
mov word [edi], dx
push 0x5eea
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411881
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x411890
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x4118b0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4118b0
push 0
push 0x80000009
sub eax, edx
push 0xa
add eax, ebx
push eax
mov eax, dword [ebp + 0x14]
push eax
jmp 0x411969
test cl, 6
je 0x411974
mov ecx, dword [ebp + 0x18]
cmp ecx, 1
jge 0x4118e4
mov ecx, 1
push ecx
push eax
call fcn.00527b80
add esp, 8
cmp byte [ebx], 0
mov dword [ebp + 0x14], eax
je 0x411912
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411900
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x5ddd
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411921
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x411930
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x411950
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411950
push 0
push 0x80000009
sub eax, edx
mov edx, dword [ebp + 0x14]
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 0xc8]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x411a04
cmp byte [ebx], 0
je 0x4119a1
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411990
mov ax, word [0x5c05a8]
mov word [edi], ax
push 0x5ddb
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4119b0
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4119c0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x4119e0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4119e0
mov ecx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, edx
push 0xa
add eax, ebx
push eax
push ecx
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 0xcc]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x411a94
cmp byte [ebx], 0
je 0x411a32
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411a20
mov dx, word [0x5c05a8]
mov word [edi], dx
push 0x5ddd
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411a41
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x411a50
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x411a70
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411a70
push 0
sub eax, edx
push 0x80000009
add eax, ebx
push 0xa
push eax
mov eax, dword [ebp + 0x14]
push eax
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 0xd0]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x411b38
cmp byte [ebx], 0
je 0x411ac2
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411ab0
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x5ddc
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411ad1
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x411ae0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
jmp 0x411b00
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411b00
mov edx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, esi
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411b24
mov ax, word [0x5c0584]
mov esi, dword [ebp + 0xc]
mov word [edi], ax
mov eax, dword [esi + 4]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x411bc4
cmp byte [ebx], 0
je 0x411b62
lea edi, [ebx - 1]
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411b50
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x5dc6
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411b71
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x411b80
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x411ba0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411ba0
push 0
sub eax, edx
mov edx, dword [ebp + 0x14]
push 0x80000009
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 8]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x411c54
cmp byte [ebx], 0
je 0x411bf1
lea edi, [ebx - 1]
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411be0
mov ax, word [0x5c05a8]
mov word [edi], ax
push 0x5dc7
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411c00
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x411c10
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x411c30
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411c30
mov ecx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, edx
push 0xa
add eax, ebx
push eax
push ecx
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x411cd4
cmp byte [ebx], 0
je 0x411c78
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411c66
mov dx, word [0x5c05a8]
mov word [edi], dx
push 0x5dca
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411c87
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x411c93
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411cb0
push 0
sub eax, edx
push 0x80000009
add eax, ebx
push 0xa
push eax
mov eax, dword [ebp + 0x14]
push eax
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x411d54
cmp byte [ebx], 0
je 0x411cf8
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411ce6
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x5dc8
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411d07
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x411d13
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411d30
push 0
sub eax, edx
mov edx, dword [ebp + 0x14]
push 0x80000009
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x411dd4
cmp byte [ebx], 0
je 0x411d77
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411d66
mov ax, word [0x5c05a8]
mov word [edi], ax
push 0x5dc9
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411d86
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x411d92
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411db0
mov ecx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, edx
push 0xa
add eax, ebx
push eax
push ecx
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 0x18]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x411e54
cmp byte [ebx], 0
je 0x411df8
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411de6
mov dx, word [0x5c05a8]
mov word [edi], dx
push 0x5dcb
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411e07
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x411e13
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411e30
push 0
sub eax, edx
push 0x80000009
add eax, ebx
push 0xa
push eax
mov eax, dword [ebp + 0x14]
push eax
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 0x98]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x411ee4
cmp byte [ebx], 0
je 0x411e82
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411e70
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x5de1
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411e91
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x411ea0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x411ec0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411ec0
push 0
sub eax, edx
mov edx, dword [ebp + 0x14]
push 0x80000009
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 0x64]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x411f64
cmp byte [ebx], 0
je 0x411f07
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411ef6
mov ax, word [0x5c05a8]
mov word [edi], ax
push 0x5ddf
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411f16
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x411f22
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411f40
mov ecx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, edx
push 0xa
add eax, ebx
push eax
push ecx
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 0x68]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x411fe4
cmp byte [ebx], 0
je 0x411f88
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x411f76
mov dx, word [0x5c05a8]
mov word [edi], dx
push 0x5de0
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411f97
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x411fa3
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411fc0
push 0
sub eax, edx
push 0x80000009
add eax, ebx
push 0xa
push eax
mov eax, dword [ebp + 0x14]
push eax
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 0x9c]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x412074
cmp byte [ebx], 0
je 0x412012
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412000
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x5dd9
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412021
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412030
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x412050
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412050
push 0
sub eax, edx
mov edx, dword [ebp + 0x14]
push 0x80000009
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x412104
cmp byte [ebx], 0
je 0x4120a1
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412090
mov ax, word [0x5c05a8]
mov word [edi], ax
push 0x5dda
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4120b0
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4120c0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x4120e0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4120e0
mov ecx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, edx
push 0xa
add eax, ebx
push eax
push ecx
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
lea edx, [esi + 0x20]
mov dword [ebp - 4], 0
mov dword [ebp + 0x14], 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp + 0x20], eax
test eax, eax
je 0x4121e2
cmp dword [ebp - 4], 0
lea edi, [ebx - 1]
jne 0x412150
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412131
mov cx, word [0x5c05a8]
mov word [edi], cx
mov dword [ebp - 4], 1
jmp 0x412162
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412150
mov dx, word [0x5c0580]
mov word [edi], dx
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412167
sub eax, edx
push 0x5dea
lea edi, [ebx + eax]
call fcn.00531d80
add esp, 4
push eax
mov eax, dword [ebp + 0x14]
add eax, 0x5de1
push eax
call fcn.00531d80
add esp, 4
push eax
push 0x5c05f4
push edi
call dword [fcn.005c02cc]
mov eax, ebx
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4121a7
mov ecx, dword [ebp + 0x20]
push 0
push 0x80000009
sub eax, edi
push 0xa
add eax, ebx
push eax
push ecx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
jmp 0x4121d0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4121d0
mov dx, word [0x5c0584]
mov word [edi], dx
mov eax, dword [ebp + 0x14]
add dword [ebp - 8], 4
inc eax
mov dword [ebp + 0x14], eax
cmp eax, 8
jle 0x412118
lea eax, [esi + 0x44]
mov dword [ebp - 4], 0
mov dword [ebp + 0x14], 1
mov dword [ebp - 8], eax
lea ebx, [ebx]
mov ecx, dword [ebp - 8]
mov eax, dword [ecx]
mov dword [ebp + 0x20], eax
test eax, eax
je 0x4122e1
cmp dword [ebp - 4], 0
lea edi, [ebx - 1]
jne 0x412250
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412230
mov dx, word [0x5c05a8]
mov word [edi], dx
mov dword [ebp - 4], 1
jmp 0x412261
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412250
mov ax, word [0x5c0580]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412266
sub eax, edx
push 0x5deb
lea edi, [ebx + eax]
call fcn.00531d80
mov ecx, dword [ebp + 0x14]
add esp, 4
push eax
add ecx, 0x5de1
push ecx
call fcn.00531d80
add esp, 4
push eax
push 0x5c05f4
push edi
call dword [fcn.005c02cc]
mov eax, ebx
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4122a7
mov edx, dword [ebp + 0x20]
push 0
push 0x80000009
sub eax, edi
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
jmp 0x4122d0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4122d0
mov ax, word [0x5c0584]
mov word [edi], ax
mov eax, dword [ebp + 0x14]
add dword [ebp - 8], 4
inc eax
mov dword [ebp + 0x14], eax
cmp eax, 8
jle 0x412210
lea ecx, [esi + 0xa8]
mov dword [ebp + 0x14], 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx]
mov dword [ebp + 0x20], eax
test eax, eax
je 0x4123a2
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412318
mov ax, word [0x5c05a8]
mov word [edi], ax
mov eax, ebx
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412330
mov ecx, dword [ebp + 0x14]
add ecx, 0x5de1
sub eax, edx
push ecx
lea edi, [ebx + eax]
call fcn.00531d80
add esp, 4
push eax
push 0x5f2c
call fcn.00531d80
add esp, 4
push eax
push edi
call dword [fcn.005c02cc]
mov eax, ebx
add esp, 0xc
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412370
mov edx, dword [ebp + 0x20]
push 0
push 9
sub eax, edi
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412391
mov ax, word [0x5c0584]
mov word [edi], ax
mov eax, dword [ebp + 0x14]
add dword [ebp - 8], 4
inc eax
mov dword [ebp + 0x14], eax
cmp eax, 8
jle 0x412305
mov eax, dword [esi + 0x80]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x412488
cmp byte [ebx], 0
je 0x4123e2
lea edi, [ebx - 1]
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4123d0
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x5deb
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4123f1
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412400
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x5df1
rep movsb byte es:[edi], byte [esi]
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412425
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412431
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412450
mov edx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, esi
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412474
mov ax, word [0x5c0584]
mov esi, dword [ebp + 0xc]
mov word [edi], ax
mov eax, dword [esi + 0x84]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x412558
cmp byte [ebx], 0
je 0x4124b3
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4124a1
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x5deb
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4124c2
sub eax, esi
lea edi, [ebx - 1]
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4124d0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x5df2
rep movsb byte es:[edi], byte [esi]
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4124f5
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412501
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412520
mov edx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, esi
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412544
mov ax, word [0x5c0584]
mov esi, dword [ebp + 0xc]
mov word [edi], ax
mov eax, dword [esi + 0x88]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x412628
cmp byte [ebx], 0
je 0x412583
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412571
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x5deb
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412592
sub eax, esi
lea edi, [ebx - 1]
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4125a0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x5df3
rep movsb byte es:[edi], byte [esi]
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4125c5
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4125d1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4125f0
mov edx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, esi
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412614
mov ax, word [0x5c0584]
mov esi, dword [ebp + 0xc]
mov word [edi], ax
mov eax, dword [esi + 0x8c]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x4126f8
cmp byte [ebx], 0
je 0x412653
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412641
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x5deb
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412662
sub eax, esi
lea edi, [ebx - 1]
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412670
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x5df4
rep movsb byte es:[edi], byte [esi]
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412695
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4126a1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4126c0
mov edx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, esi
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4126e4
mov ax, word [0x5c0584]
mov esi, dword [ebp + 0xc]
mov word [edi], ax
mov eax, dword [esi + 0x90]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x4127c8
cmp byte [ebx], 0
je 0x412723
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412711
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x5deb
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412732
sub eax, esi
lea edi, [ebx - 1]
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412740
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x5df5
rep movsb byte es:[edi], byte [esi]
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412765
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412771
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412790
mov edx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, esi
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4127b4
mov ax, word [0x5c0584]
mov esi, dword [ebp + 0xc]
mov word [edi], ax
mov eax, dword [esi + 0x94]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x412898
cmp byte [ebx], 0
je 0x4127f3
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4127e1
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x5deb
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412802
sub eax, esi
lea edi, [ebx - 1]
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412810
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x5df6
rep movsb byte es:[edi], byte [esi]
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412835
sub eax, esi
lea edi, [ebx - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412841
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412860
mov edx, dword [ebp + 0x14]
push 0
push 0x80000009
sub eax, esi
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
add esp, 0x14
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412884
mov ax, word [0x5c0584]
mov esi, dword [ebp + 0xc]
mov word [edi], ax
movzx eax, byte [esi + 0xd5]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x4128f9
cmp byte [ebx], 0
movzx edx, byte [esi + 0xd4]
je 0x4128c7
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4128b5
mov cx, word [0x5c05a8]
mov word [edi], cx
mov eax, ebx
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4128d0
sub eax, edi
lea edi, [ebx + eax]
mov eax, dword [ebp + 0x14]
push eax
push edx
push 0x5f57
call fcn.00531d80
add esp, 4
push eax
push edi
call dword [fcn.005c02cc]
add esp, 0x10
movzx edx, byte [esi + 0xd7]
test edx, edx
je 0x412959
cmp byte [ebx], 0
movzx ecx, byte [esi + 0xd6]
mov dword [ebp + 0x20], ecx
je 0x412927
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412916
mov ax, word [0x5c05a8]
mov word [edi], ax
mov eax, ebx
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412930
mov ecx, dword [ebp + 0x20]
push edx
push ecx
sub eax, edi
push 0x5f58
lea edi, [ebx + eax]
call fcn.00531d80
add esp, 4
push eax
push edi
call dword [fcn.005c02cc]
add esp, 0x10
movzx eax, byte [esi + 0xd9]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x4129b9
cmp byte [ebx], 0
movzx edx, byte [esi + 0xd8]
je 0x412987
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412976
mov ax, word [0x5c05a8]
mov word [edi], ax
mov eax, ebx
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412990
mov ecx, dword [ebp + 0x14]
push ecx
push edx
sub eax, edi
push 0x5f58
lea edi, [ebx + eax]
call fcn.00531d80
add esp, 4
push eax
push edi
call dword [fcn.005c02cc]
add esp, 0x10
mov eax, dword [esi + 0xda]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x412a44
cmp byte [ebx], 0
je 0x4129e4
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4129d2
mov dx, word [0x5c05a8]
mov word [edi], dx
push 0x4c4b46
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4129f3
sub eax, esi
lea edi, [ebx - 1]
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412a00
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x412a20
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412a20
push 0
sub eax, edx
push 0x80000009
add eax, ebx
push 0xa
push eax
mov eax, dword [ebp + 0x14]
push eax
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 0xde]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x412ad4
cmp byte [ebx], 0
je 0x412a72
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412a60
mov cx, word [0x5c05a8]
mov word [edi], cx
push 0x4c4b47
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412a81
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412a90
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x412ab0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412ab0
push 0
sub eax, edx
mov edx, dword [ebp + 0x14]
push 0x80000009
push 0xa
add eax, ebx
push eax
push edx
call fcn.00567e2f
mov esi, dword [ebp + 0xc]
add esp, 0x14
mov eax, dword [esi + 0x70]
mov dword [ebp + 0x14], eax
test eax, eax
je 0x412b79
add eax, 0xfffffffe
cmp eax, 0x2f
ja 0x412b79
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412af1
mov ax, word [0x5c05a8]
push 0x5dcd
mov word [edi], ax
call fcn.00531d80
add esp, 4
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412b11
sub eax, esi
lea edi, [ebx - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412b20
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x14]
add ecx, 0x5df9
push ecx
call fcn.00531d80
add esp, 4
mov esi, eax
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412b50
sub eax, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412b60
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0xe2]
mov dword [ebp + 0x20], eax
test eax, eax
je 0x412cfe
push 0
push eax
mov dword [ebp + 0x14], 0
call fcn.00534e60
add esp, 8
test eax, eax
je 0x412bcc
mov eax, dword [eax + 8]
dec eax
je 0x412bbc
dec eax
je 0x412bb5
sub eax, 2
jne 0x412bcc
push 0x4e35
jmp 0x412bc1
push 0x4e33
jmp 0x412bc1
push 0x4e34
call fcn.00531d80
add esp, 4
mov dword [ebp + 0x14], eax
lea edi, [ebx - 1]
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412bd0
mov dx, word [0x5c05a8]
mov word [edi], dx
lea eax, [ebx - 1]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x412be5
cmp dword [ebp + 0x14], 0
mov cx, word [0x5c05ec]
mov word [eax], cx
mov dl, byte [0x5c05ee]
mov byte [eax + 2], dl
mov eax, ebx
lea edx, [eax + 1]
jne 0x412c40
jmp 0x412c10
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412c10
sub eax, edx
lea edi, [ebx + eax]
mov eax, dword [ebp + 0x20]
push eax
call fcn.00534f30
mov ecx, dword [esi + 0xe6]
add esp, 4
push eax
push ecx
push 0x5e90
call fcn.00531d80
add esp, 4
push eax
jmp 0x412c8f
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412c40
sub eax, edx
mov edx, dword [ebp + 0x14]
lea edi, [ebx + eax]
mov eax, dword [esi + 0xe6]
push edx
push eax
push 0x5e90
call fcn.00531d80
add esp, 4
push eax
push edi
call dword [fcn.005c02cc]
mov eax, ebx
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412c74
mov ecx, dword [ebp + 0x20]
sub eax, edx
push ecx
lea edi, [ebx + eax]
call fcn.00534f30
push eax
push 0x5c073c
push edi
call dword [fcn.005c02cc]
add esp, 0x10
lea eax, [ebx - 1]
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x412ca0
mov dx, word [0x5c0630]
mov word [eax], dx
mov cl, byte [0x5c0632]
mov byte [eax + 2], cl
lea edi, [ebx - 1]
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412cc0
mov dx, word [0x5c05a8]
mov eax, ebx
mov word [edi], dx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412cd7
mov ecx, dword [ebp + 0x20]
push 1
sub eax, edx
add eax, ebx
push eax
mov eax, dword [esi + 0xe6]
push eax
push ecx
push 0
push 0
push 0
call fcn.0040b810
add esp, 0x1c
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret