Function at 0x47d6b0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbd0
push ebx
push esi
push edi
cmp dword [ebp + 0x1c], 0
je 0x47d6c8
mov eax, dword [ebp + 0x1c]
mov byte [eax], 0
cmp dword [ebp + 0x14], 0
je 0x47d6d4
cmp dword [ebp + 0x18], 1
jg 0x47d6db
xor eax, eax
jmp 0x47e2a0
mov byte [ebp - 0x230], 0
xor edi, edi
xor eax, eax
mov dword [ebp - 0x30], eax
xor esi, esi
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x330]
push edx
mov ecx, dword [ebp + 8]
push ecx
call sym.ollydbg.exe__Findlabel
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x35
jne 0x47d746
lea eax, [ebp - 0x330]
cmp dword [0x4d9170], 0
push eax
je 0x47d725
mov edx, str.const
jmp 0x47d72a
mov edx, str.CONST
push edx
push 0x4c76c6
lea eax, [ebp - 0x230]
push eax
call fcn.004a6c2c
add esp, 0x10
mov edi, eax
jmp 0x47da94
cmp dword [ebp - 8], 0
je 0x47d85e
cmp dword [ebp - 8], 0x33
je 0x47d76e
test byte [ebp + 0x10], 2
je 0x47d762
test byte [ebp + 0x10], 0x80
je 0x47d76e
mov eax, dword [ebp + 8]
push eax
call sym.ollydbg.exe__Findmodule
pop ecx
mov esi, eax
test byte [ebp + 0x10], 0x80
je 0x47d7b4
test esi, esi
je 0x47d7b4
mov eax, dword [esi + 0xc]
cmp eax, dword [ebp + 8]
ja 0x47d788
add eax, dword [esi + 0x10]
cmp eax, dword [ebp + 8]
ja 0x47d7b4
cmp dword [0x4d9170], 0
je 0x47d798
mov edx, str.offset
jmp 0x47d79d
mov edx, str.OFFSET
push edx
push 0x4c76da
lea eax, [ebp - 0x230]
push eax
call fcn.004a6c2c
add esp, 0xc
mov edi, eax
cmp dword [ebp - 8], 0x31
je 0x47d7c0
cmp dword [ebp - 8], 0x33
jne 0x47d7c9
mov byte [ebp + edi - 0x230], 0x3c
inc edi
cmp dword [ebp - 8], 0x33
jne 0x47d7da
mov byte [ebp + edi - 0x230], 0x26
inc edi
jmp 0x47d816
test byte [ebp + 0x10], 2
jne 0x47d816
test esi, esi
je 0x47d816
test byte [ebp + 0x10], 1
je 0x47d7f8
mov eax, dword [ebp + 0xc]
push eax
call sym.ollydbg.exe__Findmodule
pop ecx
cmp esi, eax
je 0x47d816
lea edx, [esi + 0x48]
lea ecx, [ebp - 0x230]
push edx
push 8
add ecx, edi
push 0x4c76ec
push ecx
call fcn.004a6c2c
add esp, 0x10
add edi, eax
lea eax, [ebp - 0x330]
lea edx, [ebp - 0x230]
push eax
add edx, edi
push 0x4c76f2
push edx
call fcn.004a6c2c
add esp, 0xc
add edi, eax
cmp dword [ebp - 8], 0x31
je 0x47d841
cmp dword [ebp - 8], 0x33
jne 0x47d84a
mov byte [ebp + edi - 0x230], 0x3e
inc edi
mov byte [ebp + edi - 0x230], 0
and dword [ebp + 0x10], 0xfffffdff
jmp 0x47da94
mov ecx, dword [ebp + 8]
push ecx
call sym.ollydbg.exe__Findmemory
pop ecx
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x47d884
test byte [ebp + 0x10], 4
je 0x47d884
mov eax, dword [ebp + 0x14]
mov byte [eax], 0
xor eax, eax
jmp 0x47e2a0
test byte [ebp + 0x10], 0x10
je 0x47d8b9
mov edx, dword [ebp + 8]
push edx
call sym.ollydbg.exe__Findmodule
pop ecx
mov esi, eax
test esi, esi
je 0x47da94
mov eax, dword [ebp + 0xc]
cmp eax, dword [esi]
jb 0x47da94
mov edx, dword [esi]
add edx, dword [esi + 4]
cmp edx, dword [ebp + 0xc]
jbe 0x47da94
jmp 0x47d8d3
test byte [ebp + 0x10], 8
je 0x47d8d3
mov ecx, dword [ebp + 8]
push ecx
call sym.ollydbg.exe__Findmodule
pop ecx
mov esi, eax
test esi, esi
je 0x47da94
cmp dword [ebp - 0x30], 0
je 0x47d90c
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
mov eax, dword [ebp - 0x30]
add ebx, dword [eax + 4]
sub ebx, dword [ebp + 8]
cmp ebx, 0x100
jbe 0x47d8f4
mov ebx, 0x100
push 3
push ebx
mov eax, dword [ebp + 8]
push eax
lea edx, [ebp - 0x430]
push edx
call sym.ollydbg.exe__Readmemory
add esp, 0x10
mov ebx, eax
cmp ebx, 6
jb 0x47da21
test byte [ebp + 0x10], 0x40
je 0x47da21
cmp word [ebp - 0x430], 0x25ff
jne 0x47da21
lea ecx, [ebp - 0x330]
push ecx
push 0x33
mov eax, dword [ebp - 0x42e]
push eax
call sym.ollydbg.exe__Findname
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jle 0x47d98e
lea edx, [ebp - 0x330]
cmp dword [0x4d9170], 0
push edx
je 0x47d966
mov ecx, 0x4c76fe
jmp 0x47d96b
mov ecx, 0x4c6888
push ecx
push str.__s._s_
lea eax, [ebp - 0x230]
push eax
call fcn.004a6c2c
add esp, 0x10
mov edi, eax
mov dword [ebp - 0x14], 1
jmp 0x47da21
test byte [ebp + 0x11], 0x20
je 0x47da21
push 3
push 4
mov eax, dword [ebp - 0x42e]
push eax
lea edx, [ebp - 0x1c]
push edx
call sym.ollydbg.exe__Readmemory
add esp, 0x10
cmp eax, 4
jne 0x47da21
lea ecx, [ebp - 0x330]
push ecx
push 0x32
mov eax, dword [ebp - 0x1c]
push eax
call sym.ollydbg.exe__Findname
add esp, 0xc
test eax, eax
jle 0x47da21
mov edx, dword [ebp - 0x1c]
push edx
call sym.ollydbg.exe__Findmodule
pop ecx
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x47da21
lea edx, [ebp - 0x330]
push edx
mov ecx, dword [ebp - 0x2c]
add ecx, 0x48
push ecx
push 8
cmp dword [0x4d9170], 0
je 0x47d9fe
mov eax, 0x4c76fe
jmp 0x47da03
mov eax, 0x4c6888
push eax
push str.__s._.s._s_
lea edx, [ebp - 0x230]
push edx
call fcn.004a6c2c
add esp, 0x18
mov edi, eax
mov dword [ebp - 0x14], 1
test edi, edi
jne 0x47da94
test byte [ebp + 0x10], 0x20
jne 0x47da94
test byte [ebp + 0x10], 0xa
jne 0x47da3d
mov eax, dword [ebp + 8]
push eax
call sym.ollydbg.exe__Findmodule
pop ecx
mov esi, eax
test esi, esi
je 0x47da7a
test byte [ebp + 0x10], 1
je 0x47da58
mov eax, dword [ebp + 0xc]
cmp eax, dword [esi]
jb 0x47da58
mov edx, dword [esi]
add edx, dword [esi + 4]
cmp edx, dword [ebp + 0xc]
ja 0x47da7a
mov ecx, dword [ebp + 8]
push ecx
lea eax, [esi + 0x48]
push eax
push 8
push str._.s._08lX
lea edx, [ebp - 0x230]
push edx
call fcn.004a6c2c
add esp, 0x14
mov edi, eax
jmp 0x47da94
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x230]
push eax
push 0x4c7715
push edx
call fcn.004a6c2c
add esp, 0xc
mov edi, eax
cmp dword [ebp + 0x1c], 0
je 0x47e256
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 8], 0x31
jne 0x47db31
lea edx, [ebp - 0x330]
push edx
push 0x32
mov ecx, dword [ebp + 8]
push ecx
call sym.ollydbg.exe__Findname
add esp, 0xc
test eax, eax
jle 0x47db31
test esi, esi
jne 0x47dad6
mov eax, dword [ebp + 8]
push eax
call sym.ollydbg.exe__Findmodule
pop ecx
mov esi, eax
test esi, esi
jne 0x47db09
mov eax, dword [ebp + 0x1c]
push edi
mov esi, eax
xor eax, eax
lea edi, [ebp - 0x330]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
jmp 0x47e256
lea eax, [ebp - 0x330]
add esi, 0x48
push eax
push 0xf6
push esi
push 8
push str._.s._.s
mov eax, dword [ebp + 0x1c]
push eax
call fcn.004a6c2c
add esp, 0x18
jmp 0x47e256
cmp dword [ebp - 8], 0
je 0x47db44
mov edx, dword [ebp + 8]
push edx
call sym.ollydbg.exe__Findmemory
pop ecx
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x25], 0
test byte [ebp + 0x11], 3
je 0x47db6a
lea ecx, [ebp - 0x20]
push ecx
mov eax, dword [ebp + 8]
push eax
call sym.ollydbg.exe__Finddecode
add esp, 8
test eax, eax
je 0x47db6a
mov dl, byte [eax]
and dl, 0x1f
mov byte [ebp - 0x25], dl
cmp dword [ebp - 0x30], 0
je 0x47dba7
test ebx, ebx
jne 0x47dba7
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov ebx, dword [ecx]
add ebx, dword [eax + 4]
sub ebx, dword [ebp + 8]
cmp ebx, 0x100
jbe 0x47db8f
mov ebx, 0x100
push 3
push ebx
mov eax, dword [ebp + 8]
push eax
lea edx, [ebp - 0x430]
push edx
call sym.ollydbg.exe__Readmemory
add esp, 0x10
mov ebx, eax
cmp dword [ebp - 0x14], 0
jne 0x47dc5b
cmp ebx, 6
jb 0x47dc5b
test byte [ebp + 0x10], 0x40
je 0x47dc5b
cmp word [ebp - 0x430], 0x25ff
jne 0x47dc5b
push 3
push 4
mov ecx, dword [ebp - 0x42e]
push ecx
lea eax, [ebp - 0x24]
push eax
call sym.ollydbg.exe__Readmemory
add esp, 0x10
cmp eax, 4
jne 0x47dc5b
lea edx, [ebp - 0x330]
push edx
mov ecx, dword [ebp - 0x24]
push ecx
call sym.ollydbg.exe__Findlabel
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x47dc5b
push 0
push 0xf9
mov eax, dword [ebp + 0x1c]
add eax, 7
push eax
push 0xe4
push 0
mov edx, dword [ebp - 0x24]
push edx
call sym.ollydbg.exe__Decodeaddress
add esp, 0x18
test eax, eax
je 0x47dc5b
push 7
cmp dword [0x4d9170], 0
je 0x47dc42
mov ecx, str.jmp_to
jmp 0x47dc47
mov ecx, str.JMP_to
push ecx
mov eax, dword [ebp + 0x1c]
push eax
call fcn.004a3530
add esp, 0xc
mov dword [ebp - 0x18], 1
mov edx, dword [ebp + 0x1c]
cmp byte [edx], 0
jne 0x47dd31
cmp dword [0x4d36d8], 1
jne 0x47dd31
cmp dword [ebp - 0x14], 0
jne 0x47dd31
cmp ebx, 0xa
jb 0x47dd31
test byte [ebp + 0x10], 0x40
je 0x47dd31
xor eax, eax
mov al, byte [ebp - 0x430]
cmp eax, 0x68
jne 0x47dd31
mov edx, dword [ebp - 0x42f]
mov dword [ebp - 0x24], edx
cmp edx, 0x80000000
jb 0x47dd31
xor eax, eax
mov al, byte [ebp - 0x42b]
cmp eax, 0xe9
jne 0x47dd31
mov ecx, dword [ebp - 0x42a]
add ecx, dword [ebp + 8]
add ecx, 0xa
cmp ecx, 0x80000000
jb 0x47dd31
lea eax, [ebp - 0x330]
push eax
mov edx, dword [ebp - 0x24]
push edx
call sym.ollydbg.exe__Findlabel
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x47dd31
push 0
push 0xf7
mov ecx, dword [ebp + 0x1c]
add ecx, 9
push ecx
push 0xe4
push 0
mov eax, dword [ebp - 0x24]
push eax
call sym.ollydbg.exe__Decodeaddress
add esp, 0x18
test eax, eax
je 0x47dd31
push 9
push str.Thunk_to
mov edx, dword [ebp + 0x1c]
push edx
call fcn.004a3530
mov dword [ebp - 0x18], 1
add esp, 0xc
cmp ebx, 4
jb 0x47e111
test byte [ebp + 0x11], 1
je 0x47e111
xor ecx, ecx
mov cl, byte [ebp - 0x25]
cmp ecx, 0x1d
je 0x47e111
xor eax, eax
mov al, byte [ebp - 0x25]
cmp eax, 0x1e
je 0x47e111
xor edx, edx
mov dl, byte [ebp - 0x25]
cmp edx, 0x1f
je 0x47e111
mov dl, byte [ebp - 0x430]
xor eax, eax
mov al, dl
cmp eax, 0xc3
je 0x47dd9b
cmp eax, 0xcc
je 0x47dd9b
cmp eax, 0xe8
je 0x47dd9b
cmp eax, 0xe9
je 0x47dd9b
cmp eax, 0xeb
jne 0x47dda2
xor ecx, ecx
mov dword [ebp - 0xc], ecx
jmp 0x47ddac
push edx
call sym.ollydbg.exe__IstextA
pop ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 2
mov eax, 1
je 0x47ddb8
dec eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 1
cmp ebx, dword [ebp - 0x1c]
jbe 0x47ddec
mov edx, dword [ebp - 0x1c]
mov cl, byte [ebp + edx - 0x430]
push ecx
call sym.ollydbg.exe__IstextA
pop ecx
test eax, eax
je 0x47ddec
cmp eax, 2
jne 0x47dde4
inc dword [ebp - 0x10]
inc dword [ebp - 0x1c]
cmp ebx, dword [ebp - 0x1c]
ja 0x47ddc7
cmp dword [ebp - 0x1c], 2
jb 0x47de25
mov eax, dword [ebp + 8]
push eax
push esi
call sym.ollydbg.exe__Findfixup
add esp, 8
test eax, eax
je 0x47de25
mov edx, dword [eax]
cmp edx, dword [ebp + 8]
ja 0x47de11
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
jmp 0x47de25
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x1c]
cmp edx, ecx
jae 0x47de25
mov eax, dword [eax]
sub eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0xc], 0
je 0x47e02c
cmp dword [ebp - 0x1c], 2
jb 0x47e02c
cmp ebx, dword [ebp - 0x1c]
je 0x47de4f
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x430], 0
jne 0x47e02c
cmp ebx, 4
jb 0x47def0
test esi, esi
je 0x47de75
mov edx, dword [esi]
mov eax, dword [ebp - 0x430]
cmp edx, eax
ja 0x47def0
mov edx, dword [esi]
add edx, dword [esi + 4]
cmp eax, edx
jae 0x47def0
mov ecx, dword [ebp - 0x430]
push ecx
call sym.ollydbg.exe__Findmemory
pop ecx
test eax, eax
je 0x47def0
mov al, byte [ebp - 0x430]
push eax
call fcn.00454868
pop ecx
test eax, eax
jne 0x47e111
mov dl, byte [ebp - 0x42f]
push edx
call fcn.00454868
pop ecx
test eax, eax
jne 0x47e111
mov cl, byte [ebp - 0x42e]
push ecx
call fcn.00454868
pop ecx
test eax, eax
jne 0x47e111
cmp dword [ebp - 0x1c], 3
jb 0x47dee0
mov al, byte [ebp - 0x42d]
push eax
call fcn.00454868
pop ecx
test eax, eax
jne 0x47e111
cmp dword [ebp - 0x1c], 4
ja 0x47def0
cmp dword [ebp - 0x10], 0
jne 0x47e111
cmp dword [0x4d91cc], 0
je 0x47dfda
xor edx, edx
mov dl, byte [ebp - 0x430]
dec edx
jle 0x47dfda
xor ecx, ecx
mov cl, byte [ebp - 0x430]
cmp ecx, 0x10
jge 0x47dfda
xor eax, eax
mov al, byte [ebp - 0x430]
cmp eax, dword [ebp - 0x1c]
jae 0x47dfda
xor edx, edx
mov ecx, dword [ebp - 0x1c]
dec ecx
mov dl, byte [ebp - 0x42f]
cmp edx, ecx
jbe 0x47dfda
xor eax, eax
mov al, byte [ebp - 0x430]
cmp eax, 3
jg 0x47df8f
mov dl, byte [ebp - 0x42f]
push edx
call fcn.00454868
pop ecx
test eax, eax
jne 0x47dfda
mov cl, byte [ebp - 0x42e]
push ecx
call fcn.00454868
pop ecx
test eax, eax
jne 0x47dfda
xor eax, eax
mov al, byte [ebp - 0x430]
cmp eax, 3
jl 0x47df8f
mov dl, byte [ebp - 0x42d]
push edx
call fcn.00454868
pop ecx
test eax, eax
jne 0x47dfda
xor ecx, ecx
mov cl, byte [ebp - 0x430]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
push eax
push str.ASCII__02X_
mov edx, dword [ebp + 0x1c]
push edx
call fcn.004a6c2c
add esp, 0xc
mov dword [ebp - 4], eax
mov ecx, 0x100
sub ecx, dword [ebp - 4]
push ecx
mov eax, dword [ebp + 0x1c]
add eax, dword [ebp - 4]
push eax
mov edx, dword [ebp - 0x1c]
push edx
lea ecx, [ebp - 0x42f]
push ecx
call sym.ollydbg.exe__Stringtotext
add esp, 0x10
jmp 0x47e111
cmp dword [ebp - 0x1c], 2
jbe 0x47dfe6
cmp dword [ebp - 0x18], 0
je 0x47dff0
cmp dword [ebp - 0x10], 0
jne 0x47e111
push 0x4c774b
mov eax, dword [ebp + 0x1c]
push eax
call fcn.004a6c2c
add esp, 8
mov dword [ebp - 4], eax
mov edx, 0x100
sub edx, dword [ebp - 4]
push edx
mov ecx, dword [ebp + 0x1c]
add ecx, dword [ebp - 4]
push ecx
mov eax, dword [ebp - 0x1c]
push eax
lea edx, [ebp - 0x430]
push edx
call sym.ollydbg.exe__Stringtotext
add esp, 0x10
jmp 0x47e111
cmp dword [0x4d91cc], 0
je 0x47e111
xor ecx, ecx
mov cl, byte [ebp - 0x430]
dec ecx
jle 0x47e111
xor eax, eax
mov al, byte [ebp - 0x430]
cmp eax, dword [ebp - 0x1c]
jae 0x47e111
mov dl, byte [ebp - 0x42f]
push edx
call fcn.00454868
pop ecx
test eax, eax
je 0x47e07e
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
dec eax
mov cl, byte [ebp - 0x42f]
cmp ecx, eax
jbe 0x47e111
xor edx, edx
mov dl, byte [ebp - 0x430]
cmp edx, 3
jg 0x47e0cb
mov cl, byte [ebp - 0x42f]
push ecx
call fcn.00454868
pop ecx
test eax, eax
jne 0x47e111
mov al, byte [ebp - 0x42e]
push eax
call fcn.00454868
pop ecx
test eax, eax
jne 0x47e111
xor edx, edx
mov dl, byte [ebp - 0x430]
cmp edx, 3
jl 0x47e0cb
mov cl, byte [ebp - 0x42d]
push ecx
call fcn.00454868
pop ecx
test eax, eax
jne 0x47e111
xor eax, eax
mov al, byte [ebp - 0x430]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
push edx
push str.ASCII__02X_
mov ecx, dword [ebp + 0x1c]
push ecx
call fcn.004a6c2c
add esp, 0xc
mov dword [ebp - 4], eax
mov eax, 0x100
sub eax, dword [ebp - 4]
push eax
mov edx, dword [ebp + 0x1c]
add edx, dword [ebp - 4]
push edx
mov ecx, dword [ebp - 0x1c]
push ecx
lea eax, [ebp - 0x42f]
push eax
call sym.ollydbg.exe__Stringtotext
add esp, 0x10
mov edx, dword [ebp + 0x1c]
cmp byte [edx], 0
jne 0x47e227
cmp ebx, 8
jb 0x47e227
test byte [ebp + 0x11], 1
je 0x47e227
xor ecx, ecx
mov cl, byte [ebp - 0x25]
cmp ecx, 0x1d
je 0x47e227
xor eax, eax
mov al, byte [ebp - 0x25]
cmp eax, 0x1e
je 0x47e227
xor edx, edx
mov dl, byte [ebp - 0x25]
cmp edx, 0x1f
je 0x47e227
mov cx, word [ebp - 0x430]
push ecx
call sym.ollydbg.exe__IstextW
pop ecx
test eax, eax
je 0x47e227
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x47e191
mov edx, dword [ebp - 0x1c]
mov cx, word [ebp + edx - 0x430]
push ecx
call sym.ollydbg.exe__IstextW
pop ecx
test eax, eax
je 0x47e1a2
add dword [ebp - 0x1c], 2
mov eax, dword [ebp - 0x1c]
inc eax
cmp ebx, eax
jbe 0x47e1a2
cmp dword [ebp - 0x1c], 0xc8
jb 0x47e177
cmp dword [ebp - 0x1c], 4
jb 0x47e227
mov edx, dword [ebp - 0x1c]
inc edx
cmp ebx, edx
jbe 0x47e1d0
cmp dword [ebp - 0x1c], 0x10
jae 0x47e1d0
mov ecx, dword [ebp - 0x1c]
cmp byte [ebp + ecx - 0x430], 0
jne 0x47e227
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x42f], 0
jne 0x47e227
push str.UNICODE
mov edx, dword [ebp + 0x1c]
push edx
call fcn.004a6c2c
add esp, 8
mov dword [ebp - 4], eax
xor eax, eax
lea ecx, [ebp - 0x330]
lea edx, [ebp - 0x430]
jmp 0x47e1fd
mov bl, byte [edx]
inc eax
mov byte [ecx], bl
inc ecx
add edx, 2
mov ebx, dword [ebp - 0x1c]
sar ebx, 1
jns 0x47e207
adc ebx, 0
cmp eax, ebx
jl 0x47e1f4
push 0xff
mov edx, dword [ebp + 0x1c]
add edx, dword [ebp - 4]
push edx
push eax
lea eax, [ebp - 0x330]
push eax
call sym.ollydbg.exe__Stringtotext
add esp, 0x10
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx], 0
jne 0x47e256
test byte [ebp + 0x11], 2
je 0x47e256
xor eax, eax
mov al, byte [ebp - 0x25]
cmp eax, 0x1f
jne 0x47e256
mov edx, dword [ebp + 0x1c]
push edi
mov esi, str.Entry_address
mov edi, edx
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
cmp edi, dword [ebp + 0x18]
jl 0x47e283
mov edi, dword [ebp + 0x18]
mov dword [ebp - 4], 1
dec edi
jmp 0x47e278
mov eax, edi
sub eax, dword [ebp - 4]
mov byte [ebp + eax - 0x230], 0x2e
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jg 0x47e283
cmp edi, dword [ebp - 4]
jge 0x47e268
push edi
lea edx, [ebp - 0x230]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.004a3530
add esp, 0xc
mov eax, dword [ebp + 0x14]
mov byte [eax + edi], 0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret