Function at 0x43c310
Capabilities:
Hash data with md5

Disassembly:
sub esp, 0x484
mov eax, dword [0x589560]
xor eax, esp
mov dword [esp + 0x480], eax
mov eax, dword [edi + 8]
push ebx
push ebp
mov ebp, dword [esp + 0x490]
push esi
mov esi, ecx
push 0x1540
mov dword [esi + 0x1540], eax
xor ebx, ebx
mov byte [esi + 0x1544], bl
mov edx, dword [edi]
mov eax, dword [edx + 4]
push esi
push ebp
mov ecx, edi
mov dword [esp + 0x18], esi
call eax
test al, al
jne 0x43c378
mov ecx, ebp
call fcn.00470820
push 0x554f3c
push 0x551604
push eax
call fcn.0046adf0
add esp, 0xc
jmp 0x43c578
cmp dword [esi + 4], 0x1534344
mov ecx, ebp
je 0x43c3a0
call fcn.00470820
push 0x554f54
push 0x551604
push eax
call fcn.0046adf0
add esp, 0xc
jmp 0x43c578
mov eax, edi
call fcn.00475db0
test al, al
je 0x43c359
push 0x3ff
lea ecx, [esp + 0x91]
push ebx
push ecx
mov byte [esp + 0x98], bl
call fcn.005002f0
mov esi, dword [edi + 8]
xor eax, eax
add esp, 0xc
sub esi, dword [edi + 0xc]
mov byte [esp + 0x6c], bl
mov dword [esp + 0x6d], eax
mov dword [esp + 0x71], eax
mov dword [esp + 0x75], eax
mov dword [esp + 0x79], eax
mov dword [esp + 0x7d], eax
mov dword [esp + 0x81], eax
mov dword [esp + 0x85], eax
mov word [esp + 0x89], ax
mov byte [esp + 0x8b], al
mov dword [esp + 0x10], 0x67452301
mov dword [esp + 0x14], 0xefcdab89
mov dword [esp + 0x18], 0x98badcfe
mov dword [esp + 0x1c], 0x10325476
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x68], ebx
je 0x43c47a
cmp esi, 0x400
jbe 0x43c440
mov esi, 0x400
mov edx, dword [edi]
mov edx, dword [edx + 4]
push esi
lea eax, [esp + 0x90]
push eax
push ebp
mov ecx, edi
call edx
test al, al
je 0x43c56c
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x14]
push ecx
mov eax, esi
call fcn.00479ca0
mov esi, dword [edi + 8]
add esp, 8
sub esi, dword [edi + 0xc]
jne 0x43c433
lea ebx, [esp + 0x10]
lea eax, [esp + 0x6c]
call fcn.00479f80
mov ecx, dword [esp + 0xc]
mov eax, 0x10
add ecx, 0xc
lea edx, [esp + 0x6c]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x43c4af
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x43c497
test eax, eax
je 0x43c50c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x43c4fe
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x43c50c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x43c4fe
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x43c50c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x43c4fe
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x43c50c
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x43c50c
test esi, esi
mov eax, 1
jg 0x43c50e
or eax, 0xffffffff
jmp 0x43c50e
xor eax, eax
test eax, eax
jne 0x43c51f
mov eax, dword [esp + 0xc]
mov byte [eax + 0x1544], 1
jmp 0x43c539
mov ecx, ebp
call fcn.00470820
push 0x554f54
push 0x551604
push eax
call fcn.0046adf0
add esp, 0xc
mov ecx, ebp
mov eax, edi
call fcn.00475db0
test al, al
jne 0x43c560
mov ecx, ebp
call fcn.00470820
push 0x554f3c
push 0x551604
push eax
call fcn.0046adf0
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov al, byte [ecx + 0x1544]
jmp 0x43c57a
push 0x554f3c
mov ecx, ebp
call fcn.00401000
xor al, al
mov ecx, dword [esp + 0x48c]
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004fe05a
add esp, 0x484
ret 4