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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc8
lea esi, [esp + 0x4c]
mov ebx, ecx
mov edi, edx
mov ecx, esi
call fcn.0055c9c7
cmp byte [esi], 0
je 0x405289
mov eax, dword [esp + 0x50]
mov dword [ebx + 4], eax
and dword [ebx], 0
jmp 0x405b30
cmp byte [esp + 0x4d], 0
je 0x405b58
cmp byte [esp + 0x4e], 0x5b
jne 0x405b64
dec byte [edi + 0x18]
je 0x405b79
lea eax, [esp + 0x6c]
inc dword [edi + 8]
mov dword [esp + 0x60], ebx
mov bl, 1
mov dword [esp + 0x78], 0
mov dword [eax], 4
and dword [eax + 4], 0
and dword [eax + 8], 0
lea eax, [edi + 0xc]
mov dword [esp + 0xb0], eax
push 4
pop eax
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x4c]
mov edx, edi
call fcn.0055c9c7
cmp byte [esp + 0x4c], 0
jne 0x405ad8
cmp byte [esp + 0x4d], 0
je 0x405bdc
mov al, byte [esp + 0x4e]
movzx ecx, al
cmp ecx, 0x2c
je 0x40531b
cmp ecx, 0x5d
je 0x405b3b
test bl, bl
jne 0x405347
jmp 0x405c00
test bl, bl
jne 0x405347
inc dword [edi + 8]
lea ecx, [esp + 4]
mov edx, edi
call fcn.0055c9c7
cmp byte [esp + 4], 0
jne 0x405b8f
cmp byte [esp + 5], 0
je 0x405bd0
mov al, byte [esp + 6]
cmp al, 0x5d
je 0x405be8
lea ecx, [esp + 0x4c]
mov edx, edi
call fcn.0055c9c7
cmp byte [esp + 0x4c], 0
jne 0x405ad8
cmp byte [esp + 0x4d], 0
je 0x405bd0
movzx eax, byte [esp + 0x4e]
cmp eax, 0x5b
je 0x405588
cmp eax, 0x7b
jne 0x405c16
dec byte [edi + 0x18]
je 0x405bf4
inc dword [edi + 8]
mov bl, 1
xor ecx, ecx
mov dword [esp], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x44]
mov edx, edi
call fcn.0055c9c7
cmp byte [esp + 0x44], 0
jne 0x4055ef
cmp byte [esp + 0x45], 0
je 0x405727
mov al, byte [esp + 0x46]
movzx ecx, al
cmp ecx, 0x2c
je 0x4053e9
cmp ecx, 0x7d
je 0x405632
test bl, bl
jne 0x405415
jmp 0x405778
test bl, bl
jne 0x405415
inc dword [edi + 8]
lea ecx, [esp + 4]
mov edx, edi
call fcn.0055c9c7
cmp byte [esp + 4], 0
jne 0x405685
cmp byte [esp + 5], 0
je 0x40583d
mov al, byte [esp + 6]
cmp al, 0x22
jne 0x4056cb
inc dword [edi + 8]
and dword [edi + 0x14], 0
lea ecx, [esp + 4]
mov edx, edi
push dword [esp + 0xb0]
call fcn.005da1af
pop eax
mov esi, dword [esp + 8]
cmp dword [esp + 4], 2
je 0x405852
mov ebp, dword [esp + 0xc]
mov ecx, esi
mov edx, ebp
push 8
push str.categorytitlestruct_NewsArticlestruct_NewsArticle_with_3_elements
call fcn.004bdd23
pop ecx
pop edx
test al, al
jne 0x4054f0
mov ecx, esi
mov edx, ebp
push 5
push 0x7fadcc
call fcn.004bdd23
pop ecx
pop edx
test al, al
jne 0x40553b
mov ecx, esi
mov edx, ebp
push 2
push 0xa3a000
call fcn.004bdd23
pop ecx
pop edx
test al, al
jne 0x4054aa
mov ecx, edi
call fcn.0055ca1b
xor ebx, ebx
test eax, eax
je 0x4053aa
jmp 0x4057d3
cmp dword [esp + 0x30], 0
jne 0x405ab9
mov ecx, edi
call fcn.0055fb6e
test eax, eax
jne 0x405850
lea ecx, [esp + 4]
mov edx, edi
call fcn.00405ccb
cmp dword [esp + 4], 0
jne 0x405685
mov eax, dword [esp + 8]
xor ebx, ebx
mov dword [esp + 0x2c], eax
xor eax, eax
inc eax
mov dword [esp + 0x30], eax
jmp 0x4053aa
cmp dword [esp + 0x24], 0
jne 0x405a97
lea ecx, [esp + 4]
mov edx, edi
call fcn.004051cc
mov eax, dword [esp + 4]
test eax, eax
je 0x4057dc
mov edx, dword [esp + 0x40]
xor ecx, ecx
xor ebx, ebx
mov esi, eax
call fcn.00404e53
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0xac], edx
jmp 0x4053a6
cmp dword [esp], 0
jne 0x405aa0
lea ecx, [esp + 4]
mov edx, edi
call fcn.004051cc
mov eax, dword [esp + 4]
test eax, eax
je 0x4057ec
mov edx, dword [esp + 0x3c]
xor ecx, ecx
mov dword [esp], eax
xor ebx, ebx
call fcn.00404e53
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
jmp 0x4053a6
dec byte [edi + 0x18]
je 0x405bf4
inc dword [edi + 8]
lea ecx, [esp + 4]
lea edx, [esp + 0x64]
mov dword [esp + 0x64], edi
mov byte [esp + 0x68], 1
call fcn.0055d180
cmp dword [esp + 4], 0
mov esi, dword [esp + 8]
je 0x4055bc
xor ebp, ebp
jmp 0x405948
test esi, esi
je 0x4056e0
mov dword [esp + 0x24], esi
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
lea ecx, [esp + 4]
lea edx, [esp + 0x64]
call fcn.0055d180
cmp dword [esp + 4], 0
mov eax, dword [esp + 8]
je 0x4055f8
mov esi, eax
jmp 0x40593b
mov esi, dword [esp + 0x48]
jmp 0x405852
test eax, eax
je 0x4057ae
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x64]
mov dword [esp], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x44]
mov edx, ebx
call fcn.0055c9c7
cmp byte [esp + 0x44], 0
je 0x40568e
mov esi, dword [esp + 0x48]
jmp 0x40592e
mov ecx, dword [esp + 0x24]
test ecx, ecx
setne bl
je 0x4057c6
mov ebp, dword [esp]
test ebp, ebp
sete al
je 0x4057f4
cmp dword [esp + 0x30], 0
je 0x405809
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0x40]
mov dword [esp + 0xa8], ebp
mov ebx, ecx
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], edx
jmp 0x405881
mov esi, dword [esp + 8]
jmp 0x405852
cmp byte [esp + 0x45], 0
mov dword [esp + 0x8c], esi
je 0x40590d
mov al, byte [esp + 0x46]
mov esi, ebx
movzx edx, al
cmp edx, 0x2c
je 0x4056f9
cmp edx, 0x5d
je 0x405a7f
cmp byte [esp + 0x68], 0
jne 0x405704
mov dword [esp + 4], 7
jmp 0x405921
movzx eax, al
cmp eax, 0x7d
jne 0x405734
mov dword [esp + 4], 0x12
jmp 0x405845
xor ecx, ecx
mov edx, 0x7fae08
push 0x66498c
call fcn.00640213
pop ecx
mov esi, eax
jmp 0x4055b5
cmp byte [esp + 0x68], 0
je 0x405785
cmp al, 0x5d
je 0x405919
lea ecx, [esp + 4]
mov edx, esi
call fcn.00405ccb
cmp dword [esp + 4], 0
je 0x405741
mov esi, dword [esp + 8]
jmp 0x40592e
mov dword [esp + 4], 3
jmp 0x405845
mov dword [esp + 4], 0x10
jmp 0x405845
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x38]
mov esi, ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x94], ecx
jmp 0x405948
mov dword [esp + 4], 8
jmp 0x405845
inc dword [esi + 8]
lea ecx, [esp + 4]
mov edx, esi
call fcn.0055c9c7
cmp byte [esp + 4], 0
jne 0x40571e
cmp byte [esp + 5], 0
je 0x405acb
mov al, byte [esp + 6]
jmp 0x405704
xor ecx, ecx
mov edx, 0x7fae08
inc ecx
push 0x66498c
call fcn.00640213
pop ecx
jmp 0x4055e8
mov ecx, str.categorytitlestruct_NewsArticlestruct_NewsArticle_with_3_elements
push 8
pop edx
call fcn.00640263
mov ecx, dword [esp]
mov esi, eax
mov al, 1
jmp 0x405859
mov esi, dword [esp + 8]
mov al, 1
mov dword [esp + 0x24], 0
jmp 0x405854
mov esi, dword [esp + 8]
xor ebx, ebx
jmp 0x40586a
mov byte [esp + 0x30], al
mov ecx, 0x7fadcc
push 5
pop edx
call fcn.00640263
mov esi, eax
jmp 0x405827
mov byte [esp + 0x30], al
mov ecx, 0xa3a000
push 2
pop edx
call fcn.00640263
mov edx, dword [esp + 0x3c]
mov ecx, ebp
mov esi, eax
call fcn.004bd77e
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
call fcn.004bd77e
mov ecx, dword [esp]
mov al, byte [esp + 0x30]
jmp 0x405859
mov dword [esp + 4], 5
mov ecx, edi
lea edx, [esp + 4]
call fcn.006426aa
mov esi, eax
mov al, 1
mov ecx, dword [esp]
xor ebx, ebx
test al, al
je 0x40586a
test ecx, ecx
je 0x40586a
mov edx, dword [esp + 0x3c]
call fcn.004bd77e
mov ecx, dword [esp + 0x24]
test bl, bl
jne 0x40587f
test ecx, ecx
je 0x40587f
mov edx, dword [esp + 0x40]
call fcn.004bd77e
xor ebx, ebx
inc byte [edi + 0x18]
mov ecx, edi
call fcn.0055ccbd
mov ecx, dword [esp + 0xac]
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov edx, dword [esp + 0xa8]
mov ebp, eax
test ebx, ebx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebp
je 0x4058e7
test ebp, ebp
je 0x4058f6
lea ecx, [esp + 4]
call fcn.00405242
xor ecx, ecx
mov esi, ebp
jmp 0x4059e0
xor ecx, ecx
test ebp, ebp
jne 0x4059ad
jmp 0x4059e0
lea ecx, [esp + 0xc]
mov eax, dword [ecx + 0x10]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov ecx, ebx
jmp 0x4059d0
mov dword [esp + 4], 2
mov ecx, ebx
jmp 0x405923
mov dword [esp + 4], 0x12
mov ecx, esi
lea edx, [esp + 4]
call fcn.006426aa
mov esi, eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
call fcn.004bd77e
mov ecx, dword [esp + 0x24]
mov edx, ebp
call fcn.004bd77e
xor ebp, ebp
inc byte [edi + 0x18]
mov ecx, edi
call fcn.0055ce75
mov ecx, dword [esp]
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov edx, dword [esp + 0x9c]
mov ebx, eax
test ebp, ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebx
je 0x4059a7
test ebx, ebx
je 0x4059be
lea ecx, [esp + 4]
call fcn.00405242
xor ecx, ecx
mov esi, ebx
jmp 0x4059e0
xor ecx, ecx
test ebx, ebx
je 0x4059e0
lea eax, [esp + 0x20]
push eax
call fcn.0040473b
xor ecx, ecx
add esp, 4
jmp 0x4059e0
lea ecx, [esp + 0xc]
mov eax, dword [ecx + 0x10]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov ecx, ebp
mov dword [esp + 0x5c], eax
movsd qword [esp + 0x54], xmm1
movsd qword [esp + 0x4c], xmm0
mov ebx, dword [esp + 0x28]
test ecx, ecx
je 0x405c29
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x5c]
movsd xmm0, qword [esp + 0x4c]
movsd xmm1, qword [esp + 0x54]
cmp edx, dword [esp + 0x70]
mov dword [esp + 0xc4], eax
movsd qword [esp + 0xbc], xmm1
movsd qword [esp + 0xb4], xmm0
jne 0x405a34
mov ebx, ecx
lea ecx, [esp + 0x6c]
call fcn.00405c37
mov ecx, ebx
mov ebx, dword [esp + 0x6c]
mov edx, dword [esp + 0x74]
imul eax, edx, 0x1c
mov dword [esp + 0x28], ebx
mov dword [ebx + eax], ecx
mov dword [ebx + eax + 4], esi
movsd xmm0, qword [esp + 0xb4]
movsd xmm1, qword [esp + 0xbc]
movsd qword [ebx + eax + 8], xmm0
movsd qword [ebx + eax + 0x10], xmm1
mov ecx, dword [esp + 0xc4]
mov dword [ebx + eax + 0x18], ecx
xor ebx, ebx
mov eax, dword [esp + 0x74]
inc eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], eax
jmp 0x4052dc
push 2
pop ecx
mov edx, 0x7fae08
push 0x66498c
call fcn.00640213
pop ecx
jmp 0x40592c
mov ecx, str.categorytitlestruct_NewsArticlestruct_NewsArticle_with_3_elements
push 8
jmp 0x405ac0
mov ecx, 0x7fadcc
push 5
pop edx
call fcn.006402a2
mov ecx, dword [esp]
mov esi, eax
mov al, 1
jmp 0x405857
mov ecx, 0xa3a000
push 2
pop edx
call fcn.006402a2
jmp 0x405850
mov dword [esp + 4], 5
jmp 0x405921
mov eax, dword [esp + 0x50]
mov dword [esp + 0x80], eax
and dword [esp + 0x7c], 0
lea ecx, [esp + 0x6c]
call fcn.00405209
xor esi, esi
inc byte [edi + 0x18]
mov ecx, edi
call fcn.0055ce75
mov ebx, eax
test esi, esi
mov dword [esp + 0x88], eax
je 0x405b98
test ebx, ebx
jne 0x405bb3
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov dword [edx], esi
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
add esp, 0xc8
pop esi
pop edi
pop ebx
pop ebp
ret
movsd xmm0, qword [esp + 0x6c]
mov eax, dword [esp + 0x74]
movsd qword [esp + 0x7c], xmm0
mov dword [esp + 0x84], eax
mov esi, dword [esp + 0x7c]
jmp 0x405af3
lea edx, [esp + 4]
mov dword [edx], 5
jmp 0x405b83
lea edx, [esp + 0x34]
mov ecx, edi
push 0x664f04
call fcn.006402e1
pop ecx
mov esi, eax
jmp 0x405bc2
lea edx, [esp + 4]
mov dword [edx], 0x15
mov ecx, edi
call fcn.006426aa
jmp 0x40527e
mov eax, dword [esp + 8]
jmp 0x405adc
mov esi, dword [esp + 0x80]
test ebx, ebx
je 0x405bbe
lea eax, [esp + 0x88]
push eax
call fcn.0040473b
pop eax
jmp 0x405bbe
lea ecx, [esp + 0x7c]
call fcn.00405209
mov esi, ebx
mov ebx, dword [esp + 0x60]
mov ecx, esi
mov edx, edi
call fcn.006404bd
jmp 0x40527e
lea edx, [esp + 4]
mov dword [edx], 5
jmp 0x405c0a
lea edx, [esp + 4]
mov dword [edx], 2
jmp 0x405c0a
lea edx, [esp + 4]
mov dword [edx], 0x12
jmp 0x405c0a
lea edx, [esp + 4]
mov dword [edx], 0x15
jmp 0x405c0a
lea edx, [esp + 4]
mov dword [edx], 7
mov ecx, edi
call fcn.006426aa
jmp 0x405adc
lea edx, [esp + 0x34]
mov ecx, edi
push 0x664f64
call fcn.006402e1
pop ecx
mov esi, eax
mov ecx, esi
mov edx, edi
call fcn.006404bd
jmp 0x405adc