Function at 0x478ae0
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov eax, dword [0x51e080]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x522480]
push ebx
push esi
mov esi, dword [sym.imp.USER32.dll_GetDlgItemTextW]
push edi
push 0x11
push dword [eax + 0x14]
mov dword [ebp - 0x8c], ecx
push 0x3ea
push ecx
call esi
mov ecx, eax
mov eax, dword [0x522480]
mov dword [ebp - 0x80], ecx
mov edx, dword [eax + 0x14]
xor eax, eax
mov dword [ebp - 0x84], edx
mov edi, edx
mov dword [ebp - 0x7c], eax
mov ebx, edx
test ecx, ecx
je 0x478b81
movzx esi, word [edi]
cmp esi, 0x40
je 0x478b6c
cmp esi, 0x7e
je 0x478b6c
cmp esi, 0x7c
je 0x478b6c
cmp esi, 0x2a
je 0x478b6c
mov ecx, esi
call fcn.00452470
test eax, eax
je 0x478b69
cmp edi, ebx
je 0x478b5d
mov word [ebx], si
mov eax, dword [ebp - 0x7c]
add ebx, 2
inc eax
mov dword [ebp - 0x7c], eax
jmp 0x478b6c
mov eax, dword [ebp - 0x7c]
add edi, 2
sub dword [ebp - 0x80], 1
jne 0x478b34
mov edx, dword [ebp - 0x84]
mov esi, dword [sym.imp.USER32.dll_GetDlgItemTextW]
mov ebx, dword [0x522480]
xor ecx, ecx
mov word [edx + eax*2], cx
lea edx, [ebp - 0x7c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x14]
push dword [eax + 0x32c]
call fcn.00453850
add esp, 4
cmp dword [ebp - 0x7c], 0
je 0x478e4c
push 0x51
push dword [ebx + 0x18]
push 0x3eb
push dword [ebp - 0x8c]
call esi
mov edx, dword [0x522480]
xor ebx, ebx
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], ebx
mov ecx, dword [edx + 0x18]
mov edi, ecx
mov dword [ebp - 0x88], ecx
mov esi, ecx
test eax, eax
je 0x478c21
movzx ebx, word [edi]
mov ecx, ebx
call fcn.00452470
test eax, eax
je 0x478c06
cmp edi, esi
je 0x478bfa
mov word [esi], bx
mov ebx, dword [ebp - 0x80]
add esi, 2
inc ebx
mov dword [ebp - 0x80], ebx
jmp 0x478c09
mov ebx, dword [ebp - 0x80]
add edi, 2
sub dword [ebp - 0x84], 1
jne 0x478be5
mov ecx, dword [ebp - 0x88]
mov edx, dword [0x522480]
xor eax, eax
lea esi, [ebx + ebx]
mov word [esi + ecx], ax
test ebx, ebx
je 0x478e4c
mov edi, dword [edx + 0x10]
push esi
push dword [edx + 0x18]
push edi
call fcn.004d6950
mov eax, dword [ebp - 0x7c]
add edi, esi
lea esi, [eax + eax]
mov eax, dword [0x522480]
push esi
push dword [eax + 0x14]
push edi
call fcn.004d6950
lea eax, [ebx + ebx]
add edi, esi
push eax
mov eax, dword [0x522480]
push dword [eax + 0x18]
push edi
call fcn.004d6950
push esi
mov esi, dword [0x522480]
lea eax, [ebx + ebx]
add eax, edi
push dword [esi + 0x14]
push eax
call fcn.004d6950
mov eax, dword [ebp - 0x7c]
add esp, 0x30
mov ecx, dword [esi + 0x10]
add eax, ebx
shl eax, 2
test ecx, ecx
je 0x478e36
lea edx, [ebp - 0x78]
mov dword [ebp - 0x54], 0
push edx
push eax
push ecx
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x78], 0x6a09e667
mov dword [ebp - 0x74], 0xbb67ae85
mov dword [ebp - 0x70], 0x3c6ef372
mov dword [ebp - 0x6c], 0xa54ff53a
mov dword [ebp - 0x68], 0x510e527f
mov dword [ebp - 0x64], 0x9b05688c
mov dword [ebp - 0x60], 0x1f83d9ab
mov dword [ebp - 0x5c], 0x5be0cd19
mov dword [ebp - 8], 0
call fcn.004b2370
lea eax, [ebp - 0x78]
push eax
call fcn.004b2880
push ecx
lea eax, [ebp - 0x78]
push eax
push ecx
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.004bcc70
lea eax, [ebp - 0x90]
mov dword [ebp - 0x90], 0x28
push eax
mov eax, dword [0x522480]
push dword [eax + 0x1c]
mov eax, dword [ebp - 0x88]
push eax
mov dword [ebp - 0x88], eax
call fcn.004bb900
mov eax, dword [0x522480]
mov esi, dword [ebp - 0x84]
mov edi, dword [eax + 0x20]
test esi, esi
je 0x478d9b
test edi, edi
je 0x478d9b
cmp dword [esi + 8], 0
je 0x478d9b
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x478d9b
mov ebx, dword [esi + 4]
mov eax, ebx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 0x14
jne 0x478d9b
shr ebx, 5
cmp dword [ecx + 4], ebx
jg 0x478d9b
xor ecx, ecx
test ebx, ebx
je 0x478d9b
nop
mov eax, dword [esi + 0xc]
cmp ecx, dword [eax + 4]
jge 0x478d8f
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
jmp 0x478d91
xor eax, eax
mov dword [edi], eax
inc ecx
add edi, 4
cmp ecx, ebx
jl 0x478d80
push dword [ebp - 0x88]
call fcn.004bd080
test esi, esi
je 0x478dd8
mov ecx, dword [esi + 8]
mov dword [esi], 0
mov dword [esi + 4], 0
test ecx, ecx
je 0x478dc3
call fcn.004c2a10
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x478dcf
call fcn.004bfe20
push esi
call fcn.004d9a63
add esp, 4
push ecx
mov ecx, dword [0x522480]
lea eax, [ebp - 0x90]
mov dword [ebp - 0x90], 0x100
push dword [ecx + 0x1c]
push dword [ecx + 0x14]
push eax
push dword [ecx + 0x10]
call fcn.004797e0
test eax, eax
jne 0x478e36
mov eax, dword [ebp + 8]
test eax, eax
jne 0x478e13
mov eax, dword [0x522480]
push dword [eax + 0x10]
jmp 0x478e4e
cmp eax, 1
jne 0x478e5f
push dword [ebp - 0x8c]
call fcn.00479e70
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3878
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3878
mov esp, ebp
pop ebp
ret
push 0
push 0x3ec
push dword [ebp - 0x8c]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004d3878
mov esp, ebp
pop ebp
ret