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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov ecx, dword [ebp + 8]
sub esp, 0x44
push ebx
push esi
push edi
mov edi, dword [ecx*4 + 0x20a514c]
cmp word [edi + 0x78], 1
je 0x50dfa8
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi + 0x284]
test eax, eax
js 0x50e2e9
cmp eax, 0x1194
jge 0x50e2e9
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
imul esi, eax, 0x2c
mov eax, 0xa
mov dword [esp + 0x10], 0xa
add esi, 0xb94b0c
mov dword [esp + 0x1c], esi
mov esi, dword [esi]
test esi, esi
js 0x50e2d1
cmp esi, 0x1194
jge 0x50e2d1
cmp ecx, esi
je 0x50e2d1
movsx edx, word [edi + 0x146]
movsx ecx, word [edi + 0x144]
movzx eax, byte [edi + 0x149]
push edx
push ecx
push eax
push dword [esi*4 + 0x20a514c]
call fcn.004cca60
test al, al
jne 0x50e0a0
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x110
push eax
lea eax, [esp + 0x24]
mov ecx, 0xa9b83c
push eax
call fcn.00405650
mov eax, dword [esp + 0x28]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x50e05c
cmp dword [eax + 0x10], 0x110
jle 0x50e05e
mov eax, ecx
cmp eax, ecx
jne 0x50e07d
push 0x110
push str.Could_not_find_message__d_
push 0xa9b7bc
call ebx
add esp, 0xc
mov eax, 0xa9b7bc
jmp 0x50e080
add eax, 0x18
push eax
push 0
push 0
push 0
push 0
push 0
push 1
push esi
push 0xb90558
call fcn.004cdc70
add esp, 0x24
jmp 0x50e2ca
mov dl, byte [edi + 0x149]
cmp dl, 0x1e
jne 0x50e126
cmp dword [0x5d8fb0], 7
jne 0x50e126
mov ecx, dword [esi*4 + 0x20a514c]
mov al, byte [edi + 0xdca]
cmp al, byte [ecx + 0xdca]
je 0x50e126
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x110
push eax
lea eax, [esp + 0x30]
mov ecx, 0xa9b83c
push eax
call fcn.00405650
mov eax, dword [esp + 0x34]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x50e0fe
cmp dword [eax + 0x10], 0x110
jle 0x50e100
mov eax, ecx
cmp eax, ecx
jne 0x50e07d
push 0x110
push str.Could_not_find_message__d_
push 0xa9b7bc
call ebx
add esp, 0xc
mov eax, 0xa9b7bc
jmp 0x50e080
movsx eax, word [edi + 0x144]
mov dword [esp + 0x14], eax
movsx eax, word [edi + 0x146]
push 0xa
push 4
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push 4
movzx ecx, dl
lea edx, [esp + 0x20]
push eax
call fcn.0051edc0
mov ecx, dword [esi*4 + 0x20a514c]
mov edx, 5
add esp, 0x10
test al, al
mov word [ecx + 0x5ea], dx
mov ecx, dword [esi*4 + 0x20a514c]
mov al, byte [edi + 0x149]
mov byte [ecx + 0x5ec], al
mov ecx, dword [esi*4 + 0x20a514c]
jne 0x50e225
mov al, byte [edi + 0x144]
mov byte [ecx + 0x5ed], al
mov ecx, dword [esi*4 + 0x20a514c]
mov al, byte [edi + 0x146]
mov dword [esp + 0x18], 0x111
mov byte [ecx + 0x5ee], al
mov ecx, 0xa9b83c
mov eax, dword [esi*4 + 0x20a514c]
movzx eax, word [eax + 0x5ea]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00405650
mov eax, dword [esp + 0x40]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x50e1f1
cmp dword [eax + 0x10], 0x111
jle 0x50e1f3
mov eax, ecx
cmp eax, ecx
jne 0x50e219
push 0x111
push str.Could_not_find_message__d_
push 0xa9b7bc
call ebx
add esp, 0xc
mov eax, 0xa9b7bc
push dword [esp + 0x14]
jmp 0x50e2af
push dword [esp + 0x14]
add eax, 0x18
jmp 0x50e2af
mov al, byte [esp + 0x14]
mov byte [ecx + 0x5ed], al
mov ecx, dword [esi*4 + 0x20a514c]
mov al, byte [esp + 0x18]
mov dword [esp + 0x18], 0x111
mov byte [ecx + 0x5ee], al
mov ecx, 0xa9b83c
mov eax, dword [esi*4 + 0x20a514c]
movzx eax, word [eax + 0x5ea]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00405650
mov eax, dword [esp + 0x4c]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x50e287
cmp dword [eax + 0x10], 0x111
jle 0x50e289
mov eax, ecx
cmp eax, ecx
jne 0x50e2a8
push 0x111
push str.Could_not_find_message__d_
push 0xa9b7bc
call ebx
add esp, 0xc
mov eax, 0xa9b7bc
jmp 0x50e2ab
add eax, 0x18
push dword [esp + 0x14]
push eax
push 0
push 0
push 0
push 0
push 0
push 1
push esi
push 0xb90558
call fcn.004cdc70
add esp, 0x28
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
add esi, 4
sub eax, 1
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], eax
jne 0x50dfe1
mov eax, dword [ebp + 0x10]
push 1
push ecx
movzx eax, word [eax + 8]
push eax
push edi
call fcn.00517480
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0xc