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

Disassembly:
sub esp, 0x11c
push ebx
push ebp
push esi
mov ebp, ecx
xor esi, esi
mov dword [esp + 0xd4], esi
mov eax, dword [ebp]
mov edx, dword [eax + 4]
push edi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebp
call edx
mov eax, dword [ebp]
mov edx, dword [eax + 8]
lea ecx, [esp + 0x28]
push ecx
mov ecx, ebp
call edx
push 0x14
mov dword [esp + 0x18], 2
call fcn.005812e3
add esp, 4
or ecx, 0xffffffff
cmp eax, esi
je 0x50868c
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], esi
jmp 0x50868e
xor eax, eax
mov dword [esp + 0x18], eax
cmp eax, esi
je 0x50869f
mov ecx, 1
lock xadd dword [eax], ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x13c]
mov esi, dword [ecx]
mov edi, dword [esi + 4]
mov dword [esp + 0x50], eax
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x38]
xor ebx, ebx
push ecx
mov eax, edi
mov byte [esp + 0x1f], bl
call fcn.00502ac0
mov ecx, dword [esp + 0x3c]
mov esi, dword [esi + 8]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
mov dword [esp + 0xcc], ecx
add esp, 0xc
mov ecx, esi
inc ecx
neg ecx
sbb ecx, ecx
and ecx, esi
mov eax, 0x4a90be59
imul ecx
sar edx, 0x14
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x40], ecx
mov ecx, esi
inc ecx
neg ecx
sbb ecx, ecx
and ecx, esi
mov eax, 0x4a90be59
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x36ee80
sub ecx, eax
mov eax, 0x45e7b273
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0xd0], ecx
mov ecx, esi
inc ecx
neg ecx
sbb ecx, ecx
and ecx, esi
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, 0x3c
idiv ecx
mov ecx, esi
inc ecx
neg ecx
sbb ecx, ecx
mov dword [esp + 0x44], 0xffffffff
and ecx, esi
mov dword [esp + 0xbc], edx
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x3e8
sub ecx, eax
mov eax, 0x24924925
mul edi
mov eax, edi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 2
mov dword [esp + 0xa4], ecx
lea ecx, [eax*8]
sub ecx, eax
sub edi, ecx
inc edi
xor esi, esi
mov dword [esp + 0x94], edi
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x20], esi
mov dword [esp + 0x7c], esi
cmp esi, dword [esp + 0x50]
mov edx, dword [esp + 0x134]
jge 0x508bb7
mov eax, dword [ebp + 0x48]
mov ecx, dword [eax + 8]
mov edi, dword [eax + 8]
add ecx, esi
lea ecx, [eax + ecx*4 + 0x14]
add edi, esi
mov eax, dword [eax + edi*4 + 0x14]
mov eax, dword [eax + 8]
mov dword [esp + 0xfc], edx
lea edx, [esp + 0xfc]
push edx
push ecx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], eax
call fcn.004c6930
add esp, 8
test al, al
je 0x508df2
mov eax, dword [ebp + 0x48]
mov ecx, dword [eax + 8]
add ecx, esi
mov edx, dword [eax + ecx*4 + 0x14]
add ebx, dword [edx + 8]
mov ecx, dword [ebp + 0x14]
mov eax, dword [esp + 0x7c]
mov dword [ecx + eax + 0x14], ebx
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + eax + 0x10]
mov edi, dword [edx + eax + 0x18]
lea eax, [edx + eax + 0x10]
mov edx, dword [eax + 4]
mov dword [esp + 0x108], ecx
lea eax, [esp + 0x4c]
push eax
mov eax, dword [esp + 0x138]
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x144]
push ebx
mov dword [esp + 0x118], edx
mov edx, dword [esp + 0x144]
push edx
push eax
push esi
push ecx
mov ecx, ebp
call fcn.00507f20
cmp byte [esp + 0x140], 0
mov dword [esp + 0x3c], eax
je 0x508980
cmp dword [esp + 0x6c], 1
jne 0x508980
cmp dword [esp + 0x4c], edi
jge 0x508980
push esi
lea edx, [esp + 0xe0]
push edx
mov ecx, ebp
call fcn.00505cd0
mov eax, dword [esp + 0xdc]
and eax, 3
cmp al, 3
jne 0x508980
push 0xffffffffffffffff
lea edx, [esp + 0xcc]
mov ecx, 0x30
push 0x6012e8
push edx
mov word [esp + 0x8e], cx
call fcn.004c7b10
add esp, 0xc
mov ecx, eax
lea eax, [esp + 0x82]
push eax
mov eax, dword [esp + 0x40]
push 0xa
cdq
push edi
push edx
push eax
lea edx, [esp + 0x88]
push edx
call fcn.004cc260
mov eax, dword [esp + 0xc8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x50894b
mov edx, dword [esp + 0xc8]
push edx
call fcn.004c6150
add esp, 4
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x74]
push eax
push ecx
mov ecx, dword [esp + 0x13c]
push ebx
call fcn.004cbff0
mov edx, dword [esp + 0x74]
mov dword [esp + 0x4c], edi
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x508980
mov ecx, dword [esp + 0x74]
push ecx
call fcn.004c6150
add esp, 4
xor edx, edx
cmp dword [esp + 0x4c], edx
mov dword [esp + 0xe4], edx
lea eax, [esp + 0x4c]
jg 0x50899a
lea eax, [esp + 0xe4]
add ebx, dword [eax]
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0x14], eax
lea eax, [esp + 0x14]
jl 0x5089ae
lea eax, [esp + 0x6c]
mov edi, dword [eax]
mov ecx, 1
mov dword [esp + 0x14], edi
cmp edi, ecx
jne 0x5089cb
cmp dword [ebp + 0x60], edx
jne 0x5089d3
mov dword [esp + 0x14], edx
jmp 0x5090ef
cmp edi, edx
je 0x508ac9
mov edx, dword [esp + 0x108]
cmp edx, 0x20
jg 0x508a31
je 0x508a2b
lea eax, [edx - 1]
cmp eax, 0xf
ja case.0x5089f4.3
movzx ecx, byte [eax + 0x5099f4]
jmp dword [ecx*4 + 0x5099dc]
lea eax, [esp + 0x44]
jmp 0x508a9f
lea eax, [esp + 0xd0]
jmp 0x508a9f
lea eax, [esp + 0xbc]
jmp 0x508a9f
lea eax, [esp + 0xa4]
jmp 0x508a9f
lea eax, [esp + 0x48]
jmp 0x508a9f
lea eax, [esp + 0x40]
jmp 0x508a9f
cmp edx, 0x400
jg 0x508a7f
je 0x508a79
cmp edx, 0x100
je 0x508a55
cmp edx, 0x200
jne case.0x5089f4.3
lea eax, [esp + 0x34]
jmp 0x508a9f
cmp dword [esp + 0x3c], ecx
mov dword [esp + 0xf8], ecx
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x3c]
jg 0x508a71
lea ecx, [esp + 0xf8]
mov ecx, dword [ecx]
mov dword [esp + 0x3c], ecx
jmp 0x508a9f
lea eax, [esp + 0x30]
jmp 0x508a9f
cmp edx, 0x800
je 0x508a98
cmp edx, 0x1000
jne case.0x5089f4.3
lea eax, [esp + 0x94]
jmp 0x508a9f
lea eax, [esp + 0xc0]
mov ecx, dword [esp + 0x3c]
test dword [esp + 0x20], edx
je 0x508abe
cmp dword [eax], ecx
je 0x508abe
mov byte [esp + 0x13], 1
cmp esi, dword [ebp + 4]
jne 0x508ac9
cmp ecx, 0xffffffff
jne 0x508ac3
jmp 0x508ac9
cmp ecx, 0xffffffff
je 0x508ac5
mov dword [eax], ecx
or dword [esp + 0x20], edx
add dword [esp + 0x7c], 0xc
inc esi
test edi, edi
je 0x5090ef
jmp 0x5087e1
mov eax, dword [esp + 0x108]
lea edx, [esp + 0x9c]
push edx
push eax
lea ecx, [esp + 0x94]
push ecx
mov ecx, ebp
call fcn.005047d0
mov ecx, eax
call fcn.004c7ad0
mov edx, dword [eax]
mov eax, dword [edx + 0xc]
push eax
push str.QDateTimeParser::parse_Internal_error___s_
call fcn.004bf6c0
mov ecx, dword [esp + 0xa4]
add esp, 8
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x508b35
mov eax, dword [esp + 0x9c]
push eax
call fcn.004cc7c0
add esp, 4
mov ecx, dword [esp + 0x8c]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x508b55
mov eax, dword [esp + 0x8c]
push eax
call fcn.004c6150
add esp, 4
push str.QDateTimeParser::parse_Internal_error_2
call fcn.004bf6c0
mov esi, dword [esp + 0x134]
add esp, 4
mov ecx, esi
call fcn.00503ba0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x508b8e
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x508b8e
mov edx, dword [esp + 0x18]
push edx
call fcn.0058125d
add esp, 4
mov eax, dword [esp + 0x28]
test eax, eax
je 0x508bac
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x508bac
mov edx, dword [esp + 0x28]
push edx
call fcn.0058125d
add esp, 4
mov eax, dword [esp + 0x1c]
test eax, eax
jmp 0x5099b5
cmp dword [esp + 0x14], 0
je 0x5090ef
mov eax, dword [ebp + 0x48]
mov ecx, dword [eax + 0xc]
lea ecx, [eax + ecx*4 + 0x10]
mov eax, dword [edx]
mov eax, dword [eax + 8]
mov dword [esp + 0x114], edx
lea edx, [esp + 0x114]
push edx
sub eax, ebx
push ecx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], eax
call fcn.004c6930
add esp, 8
test al, al
jne 0x508c0a
mov dword [esp + 0x14], 0
jmp 0x5090ef
cmp dword [ebp + 0x54], 0xf
je 0x508f00
mov ecx, dword [esp + 0x30]
mov eax, 0x51eb851f
imul ecx
mov ebx, dword [esp + 0xc0]
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
imul esi, esi, 0x64
sub ecx, esi
cmp ecx, ebx
je 0x508c6e
mov eax, dword [esp + 0x20]
and eax, 0xc00
cmp eax, 0x800
je 0x508c68
cmp eax, 0xc00
jne 0x508c6e
mov eax, dword [ebp + 4]
push eax
mov ecx, ebp
mov byte [esp + 0x17], 1
call fcn.00503680
cmp dword [eax], 0x800
jne 0x508c6e
add esi, ebx
mov dword [esp + 0x30], esi
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
push edi
push ecx
push esi
call fcn.005031d0
add esp, 0xc
test al, al
jne 0x508c8d
xor ecx, ecx
jmp 0x508c9c
mov eax, dword [esp + 0x34]
mov ebx, edi
mov ecx, esi
call fcn.00502a10
mov ecx, eax
mov eax, 0x24924925
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 2
lea edx, [eax*8]
sub edx, eax
mov eax, dword [esp + 0x94]
sub edx, ecx
lea esi, [edx + eax - 1]
mov dword [esp + 0x84], ecx
test esi, esi
je 0x508d29
cmp dword [esp + 0x14], 2
jne 0x508d29
mov eax, dword [esp + 0x20]
test eax, 0x1000
je 0x508d29
mov ecx, dword [ebp + 4]
shr eax, 8
and al, 1
push ecx
mov ecx, ebp
mov byte [esp + 0x17], al
call fcn.00503680
cmp dword [eax], 0x1000
je 0x508d03
cmp dword [ebp + 4], 0xffffffff
jne 0x508d29
add edi, esi
mov dword [esp + 0x2c], edi
test edi, edi
jg 0x508d12
add edi, 7
jmp 0x508d25
lea ecx, [esp + 0x84]
call fcn.00503100
cmp edi, eax
jle 0x508d29
sub edi, 7
mov dword [esp + 0x2c], edi
mov eax, dword [ebp + 4]
mov byte [esp + 0x12], 0
test eax, eax
jge 0x508d6c
cmp eax, 0xfffffffd
je 0x508d67
cmp eax, 0xfffffffe
je 0x508d62
cmp eax, 0xffffffff
je 0x508d52
push eax
push str.QDateTimeParser::sectionNode___Internal_error___d_
call fcn.004bf6c0
add esp, 8
lea eax, [ebp + 0x30]
test dword [eax], 0x1100
je 0x508d7d
mov dword [ebp + 0xc], edi
jmp 0x508d8f
lea eax, [ebp + 0x18]
jmp 0x508d55
lea eax, [ebp + 0x24]
jmp 0x508d55
mov ecx, dword [ebp + 0x14]
cmp eax, dword [ecx + 8]
jge 0x508d44
lea edx, [eax + eax*2]
lea eax, [ecx + edx*4 + 0x10]
jmp 0x508d55
mov eax, dword [ebp + 0xc]
cmp eax, edi
jle 0x508d8f
mov edi, eax
mov dword [esp + 0x2c], edi
mov byte [esp + 0x12], 1
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
push edi
push ebx
push esi
call fcn.005031d0
add esp, 0xc
test al, al
jne 0x508dd9
cmp edi, 0x20
jge 0x508dae
mov dword [ebp + 0xc], edi
cmp edi, 0x1c
jle 0x508dd9
cmp esi, 0xffffed97
jl 0x508dd9
jne 0x508dc4
cmp ebx, 1
jl 0x508dd9
jmp 0x508dc6
test esi, esi
je 0x508dd9
lea eax, [ebx - 1]
cmp eax, 0xb
ja 0x508dd9
cmp byte [ebx + 0x642ac0], 1
jge 0x508dec
cmp byte [esp + 0x12], 0
je 0x508f04
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
cmp dword [ebp + 0x60], 0
jne 0x508dff
mov dword [esp + 0x14], 0
jmp 0x5090ef
mov eax, dword [esp + 0x14]
cmp eax, 2
jne 0x508edd
cmp byte [ebp + 0x58], 0
je 0x508edd
push 1
push ebx
push esi
lea ecx, [esp + 0x12c]
call fcn.00503df0
mov ecx, eax
call fcn.00503100
mov dword [esp + 0xec], eax
cmp edi, eax
lea eax, [esp + 0x2c]
jl 0x508e43
lea eax, [esp + 0xec]
mov edi, dword [eax]
mov edx, dword [ebp]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0xe8]
push eax
mov ecx, ebp
mov dword [esp + 0x30], edi
call edx
xor esi, esi
cmp dword [esp + 0x50], esi
jle 0x508f04
push esi
mov ecx, ebp
call fcn.00503680
test dword [eax], 0x1100
je 0x508ed4
mov eax, edi
cdq
push edx
push eax
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0xf4]
call fcn.004fe0a0
push esi
mov ecx, ebp
call fcn.00503680
push eax
mov ecx, ebp
call fcn.005052d0
lea ecx, [esp + 0x70]
push ecx
push esi
mov ecx, ebp
mov ebx, eax
call fcn.00507490
mov ecx, dword [esp + 0x138]
push eax
push ebx
call fcn.004cbff0
mov edx, dword [esp + 0x70]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x508ed4
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004c6150
add esp, 4
inc esi
cmp esi, dword [esp + 0x50]
jl 0x508e67
jmp 0x508f04
cmp eax, 1
mov dword [esp + 0xf4], 1
lea eax, [esp + 0xf4]
jg 0x508ef8
lea eax, [esp + 0x14]
mov edx, dword [eax]
mov dword [esp + 0x14], edx
jmp 0x508f04
mov edi, dword [esp + 0x2c]
cmp dword [ebp + 0x54], 0xe
je 0x508fdc
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
test bl, 0x10
je 0x508fa7
mov ecx, dword [esp + 0x40]
shr ebx, 5
and bl, 1
cmp eax, 0xffffffff
jne 0x508f3e
test bl, bl
je 0x508f5e
xor eax, eax
cmp ecx, 0xc
setge al
mov dword [esp + 0x48], eax
test eax, eax
jne 0x508f68
mov esi, dword [esp + 0x44]
mov eax, 0xd5555555
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
lea esi, [esi + eax*4]
jmp 0x508f8c
mov dword [esp + 0x48], 0
jmp 0x508f42
mov esi, dword [esp + 0x44]
mov eax, 0x2aaaaaab
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
add edx, edx
add edx, edx
mov eax, 0xc
sub eax, edx
add esi, eax
mov dword [esp + 0x44], esi
test bl, bl
jne 0x508f9c
mov ecx, esi
mov dword [esp + 0x40], ecx
jmp 0x508fe0
cmp ecx, esi
je 0x508fe0
mov byte [esp + 0x13], 1
jmp 0x508fe0
cmp eax, 0xffffffff
je 0x508fdc
test bl, 0x20
jne 0x508fbe
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x40], ecx
jmp 0x508fe0
mov ecx, dword [esp + 0x40]
xor edx, edx
test eax, eax
sete dl
xor eax, eax
cmp ecx, 0xc
setl al
cmp edx, eax
je 0x508fe0
mov byte [esp + 0x13], 1
jmp 0x508fe0
mov ecx, dword [esp + 0x40]
cmp ecx, 0x18
jae 0x50900c
mov eax, dword [esp + 0xd0]
cmp eax, 0x3c
jae 0x50900c
mov edx, dword [esp + 0xbc]
cmp edx, 0x3c
jae 0x50900c
mov esi, dword [esp + 0xa4]
cmp esi, 0x3e8
jb 0x509019
mov dword [esp + 0xcc], 0xffffffff
jmp 0x50903c
mov ebx, ecx
shl ebx, 4
sub ebx, ecx
lea eax, [eax + ebx*4]
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea edx, [edx + ecx*4]
imul edx, edx, 0x3e8
add edx, esi
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
push edi
push eax
push esi
call fcn.005031d0
add esp, 0xc
test al, al
jne 0x509060
mov dword [esp + 0xac], 0
jmp 0x509074
mov eax, dword [esp + 0x34]
mov ebx, edi
mov ecx, esi
call fcn.00502a10
mov dword [esp + 0xac], eax
mov ecx, dword [ebp + 0x5c]
push ecx
lea edx, [esp + 0xd0]
push edx
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0xd0]
call fcn.00503cc0
mov ecx, dword [eax]
cmp ecx, dword [esp + 0x18]
je 0x5090cb
test ecx, ecx
je 0x5090a9
mov edx, 1
lock xadd dword [ecx], edx
mov ecx, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x5090cb
mov edx, ecx
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x5090cb
push ecx
call fcn.0058125d
add esp, 4
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x5090ef
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x5090ef
mov edx, dword [esp + 0xc4]
push edx
call fcn.0058125d
add esp, 4
mov eax, dword [esp + 0x18]
xor esi, esi
cmp dword [eax + 4], esi
je 0x509814
mov eax, dword [eax + 8]
cmp eax, 0xffffffff
jle 0x509814
cmp eax, 0x5265c00
jge 0x509814
cmp dword [ebp + 0x60], esi
je 0x5097b9
cmp dword [esp + 0x14], esi
je 0x5097b4
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
call fcn.00504f90
test al, al
je 0x5097b4
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00504f90
test al, al
jne 0x509231
lea edx, [esp + 0x98]
push edx
push 0
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x28]
call fcn.00506470
mov ecx, eax
call fcn.004c7ad0
mov ecx, dword [eax]
mov esi, dword [ecx + 0xc]
lea edx, [esp + 0xb4]
push edx
push 0
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0x24]
call fcn.00506470
mov ecx, eax
call fcn.004c7ad0
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push esi
push edx
push str.QDateTimeParser::parse_Internal_error_3___s__s_
call fcn.004bf6c0
mov eax, dword [esp + 0xc0]
add esp, 0xc
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x5091d1
mov edx, dword [esp + 0xb4]
push edx
call fcn.004cc7c0
add esp, 4
mov eax, dword [esp + 0xd4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x5091f1
mov edx, dword [esp + 0xd4]
push edx
call fcn.004c6150
add esp, 4
mov eax, dword [esp + 0x98]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x509211
mov edx, dword [esp + 0x98]
push edx
call fcn.004cc7c0
add esp, 4
mov eax, dword [esp + 0xa0]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x509231
mov edx, dword [esp + 0xa0]
push edx
call fcn.004c6150
add esp, 4
xor edi, edi
cmp dword [esp + 0x50], edi
mov byte [esp + 0x12], 0
mov dword [esp + 0x14], edi
jle 0x509814
cmp byte [esp + 0x12], 0
jne 0x509814
mov eax, dword [ebp + 0x14]
lea esi, [edi + edi*2]
add esi, esi
add esi, esi
mov ebx, dword [esi + eax + 0x14]
lea ecx, [esi + eax + 0x10]
mov dword [esp + 0x20], ecx
test edi, edi
jge 0x5092b7
cmp edi, 0xfffffffd
je 0x5092b2
cmp edi, 0xfffffffe
je 0x5092ad
cmp edi, 0xffffffff
je 0x509288
push edi
push str.QDateTimeParser::sectionNode___Internal_error___d_
call fcn.004bf6c0
add esp, 8
lea eax, [ebp + 0x30]
mov eax, dword [eax]
add eax, 3
cmp eax, 2
ja 0x5092c0
mov dword [esp + 0x58], 0x6c30d4
mov eax, 0x6c30d4
mov ecx, 1
lock xadd dword [eax], ecx
jmp 0x5092db
lea eax, [ebp + 0x18]
jmp 0x50928b
lea eax, [ebp + 0x24]
jmp 0x50928b
cmp edi, dword [eax + 8]
jge 0x50927a
mov eax, ecx
jmp 0x50928b
push edi
mov ecx, ebp
call fcn.00507490
mov ecx, dword [esp + 0x134]
push eax
push ebx
lea edx, [esp + 0x60]
push edx
call fcn.004c78b0
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x5c]
call fcn.004ca1e0
mov ecx, dword [esp + 0x58]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x509303
mov eax, dword [esp + 0x58]
push eax
call fcn.004c6150
add esp, 4
mov ecx, dword [esp + 0x24]
mov ebx, dword [ecx + 8]
test edi, edi
jge 0x509423
cmp edi, 0xfffffffd
je 0x50941b
cmp edi, 0xfffffffe
je 0x509413
cmp edi, 0xffffffff
je 0x509337
push edi
push str.QDateTimeParser::sectionNode___Internal_error___d_
call fcn.004bf6c0
add esp, 8
lea eax, [ebp + 0x30]
mov edx, dword [eax + 8]
mov eax, dword [eax]
push edx
push eax
mov ecx, ebp
call fcn.005053a0
cmp ebx, eax
jge 0x509366
push edi
lea ecx, [esp + 0x128]
push ecx
mov ecx, ebp
call fcn.00505cd0
mov edx, dword [eax]
and dl, 3
cmp dl, 1
jne 0x5093a5
mov eax, 0x20
push 1
mov word [esp + 0xf4], ax
mov ecx, dword [esp + 0xf4]
push 0
push ecx
lea ecx, [esp + 0x30]
call fcn.004c77b0
cmp eax, 0xffffffff
setne al
movzx edx, al
neg edx
mov byte [esp + 0x3b], al
sbb edx, edx
lea eax, [esp + 0x3b]
test eax, edx
je 0x50978d
mov esi, dword [esp + 0x20]
mov eax, dword [esi]
sub eax, 1
je 0x509438
sub eax, 0x1ff
je case.default.0x50944d
test byte [esi], 0x3f
mov ecx, dword [esp + 0x1c]
je 0x50961d
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 4]
mov edx, dword [ecx + 4]
sub edx, esi
jne 0x50978d
mov ecx, dword [ecx + 8]
mov edx, dword [eax + 8]
mov eax, ecx
inc eax
neg eax
sbb eax, eax
and eax, ecx
mov ecx, edx
inc ecx
neg ecx
sbb ecx, ecx
and ecx, edx
sub eax, ecx
mov ebx, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 4]
sub ecx, esi
test ecx, ecx
jle 0x509602
or esi, 0xffffffff
jmp 0x509632
lea eax, [ebp + 0x18]
jmp 0x50933a
lea eax, [ebp + 0x24]
jmp 0x50933a
mov eax, dword [ebp + 0x14]
cmp edi, dword [eax + 8]
jge 0x509329
lea eax, [esi + eax + 0x10]
jmp 0x50933a
push 0
push edi
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebp
call fcn.00505710
inc eax
cmp eax, 5
ja case.default.0x50944d
jmp dword [eax*4 + 0x509a04]
mov dword [esp + 0x14], 2
mov byte [esp + 0x12], 1
jmp case.default.0x50944d
mov dword [esp + 0x14], 0
mov byte [esp + 0x12], 1
jmp case.default.0x50944d
push 0xa8c0
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0x20]
call fcn.00506b80
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x7c]
call fcn.00504f90
test al, al
jne 0x5094b6
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x2c]
call fcn.00504f90
test al, al
jne 0x5094b6
mov dword [esp + 0x14], 1
mov byte [esp + 0x12], 1
lea ecx, [esp + 0x78]
call fcn.005034d0
cmp dword [esi + 8], 3
jl 0x5093bf
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
push 0
lea ecx, [esp + 0xe4]
push ecx
push 0
call fcn.00502ac0
mov edx, dword [esp + 0xec]
add esp, 0xc
push 0
push 0
push edi
inc edx
push edx
lea eax, [esp + 0x34]
push eax
mov ecx, ebp
call fcn.00504510
mov esi, eax
cmp esi, 0xffffffff
je 0x50978d
lea esp, [esp]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
push 0
lea edx, [esp + 0xdc]
push edx
push 0
call fcn.00502ac0
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0xc]
mov eax, esi
sub eax, dword [esp + 0xe4]
add esp, 0xc
sub ecx, 2
je 0x509550
sub ecx, 1
je 0x509549
xor ecx, ecx
jmp 0x509555
mov ecx, 2
jmp 0x509555
mov ecx, 1
push ecx
lea ecx, [edx + 8]
push ecx
push eax
lea eax, [esp + 0x134]
push eax
lea ecx, [edx + 4]
call fcn.00504c80
push eax
lea ecx, [esp + 0x60]
call fcn.00503cc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x58]
call fcn.00504f90
test al, al
jne 0x509599
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x2c]
call fcn.00504f90
test al, al
je 0x5095d8
mov eax, dword [esp + 0x54]
test eax, eax
je 0x5095b5
mov ecx, eax
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x5095b5
push eax
call fcn.0058125d
add esp, 4
push 0
push 0
push edi
inc esi
push esi
lea eax, [esp + 0x34]
push eax
mov ecx, ebp
call fcn.00504510
mov esi, eax
cmp esi, 0xffffffff
jne 0x509510
jmp 0x50978d
mov eax, dword [esp + 0x54]
test eax, eax
je 0x5095f4
mov ecx, eax
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x5095f4
push eax
call fcn.0058125d
add esp, 4
cmp esi, 0xffffffff
je 0x50978d
jmp 0x509780
mov ecx, dword [eax + 8]
mov eax, ecx
inc eax
neg eax
sbb eax, eax
and eax, ecx
mov ecx, edx
inc ecx
neg ecx
sbb ecx, ecx
and ecx, edx
sub eax, ecx
mov esi, eax
jmp 0x509632
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x28]
mov ebx, dword [ecx + 4]
mov esi, dword [edx + 4]
sub ebx, eax
sub esi, eax
push edi
mov ecx, ebp
call fcn.00505b70
cmp ebx, eax
jle 0x50964b
mov dword [esp + 0x14], 0
jmp 0x509788
cmp esi, eax
jle 0x509652
or esi, 0xffffffff
push edi
lea eax, [esp + 0x20]
push eax
mov ecx, ebp
call fcn.00506df0
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x5096ee
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
lea ecx, [esp + 0xa8]
push ecx
push eax
lea ecx, [esp + 0xb8]
push ecx
mov ecx, ebp
call fcn.005047d0
mov ecx, eax
call fcn.004c7ad0
mov edx, dword [eax]
mov eax, dword [edx + 0xc]
push eax
push str.QDateTimeParser::parse_Internal_error_4___s_
call fcn.004bf6c0
mov ecx, dword [esp + 0xb0]
add esp, 8
or edx, ebx
lock xadd dword [ecx], edx
jne 0x5096c1
mov eax, dword [esp + 0xa8]
push eax
call fcn.004cc7c0
add esp, 4
mov ecx, dword [esp + 0xb0]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x5096e1
mov eax, dword [esp + 0xb0]
push eax
call fcn.004c6150
add esp, 4
mov dword [esp + 0x14], 0
jmp 0x509788
cmp esi, 0xffffffff
je 0x509702
push edi
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebp
call fcn.00506df0
jmp 0x50970f
lea edx, [esp + 0x18]
push edx
push edi
mov ecx, ebp
call fcn.00505070
mov ecx, dword [esp + 0x138]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x20]
sub ecx, dword [edx + 4]
js 0x50972a
mov edx, dword [esp + 0x24]
cmp ecx, dword [edx + 8]
jl 0x50972d
or ecx, 0xffffffff
push ecx
lea ecx, [esp + 0x1c]
push ecx
push edi
push eax
push ebx
lea edx, [esp + 0xcc]
push edx
lea ecx, [esp + 0x3c]
call fcn.004cace0
push eax
mov ecx, ebp
call fcn.00505e20
test al, al
mov eax, dword [esp + 0xb8]
sete bl
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x509774
mov edx, dword [esp + 0xb8]
push edx
call fcn.004c6150
add esp, 4
mov dword [esp + 0x14], 0
test bl, bl
jne 0x509788
mov dword [esp + 0x14], 1
mov byte [esp + 0x12], 1
mov eax, dword [esp + 0x24]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x5097a7
mov edx, dword [esp + 0x24]
push edx
call fcn.004c6150
add esp, 4
inc edi
cmp edi, dword [esp + 0x50]
jl 0x509246
jmp 0x509814
cmp dword [ebp + 0x60], esi
jne 0x5097c8
mov eax, dword [esp + 0x18]
cmp dword [eax + 4], 0x46d8b7
jle 0x509814
jmp 0x509810
mov edx, dword [ebp]
mov edx, dword [edx + 8]
lea eax, [esp + 0x88]
push eax
mov ecx, ebp
call edx
lea ecx, [esp + 0x18]
push ecx
mov ecx, eax
call fcn.00504f90
mov bl, al
mov eax, dword [esp + 0x88]
cmp eax, esi
je 0x50980c
or edx, 0xffffffff
lock xadd dword [eax], edx
jne 0x50980c
mov eax, dword [esp + 0x88]
push eax
call fcn.0058125d
add esp, 4
test bl, bl
je 0x509814
mov dword [esp + 0x14], esi
mov dword [esp + 0x5c], 0x6c30d4
mov ecx, 0x6c30d4
mov edx, 1
lock xadd dword [ecx], edx
xor edi, edi
push 0x14
mov dword [esp + 0x64], edi
mov byte [esp + 0x68], 0
call fcn.005812e3
add esp, 4
cmp eax, edi
je 0x509856
mov dword [eax], edi
mov dword [eax + 4], edi
or ecx, 0xffffffff
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edi
jmp 0x509858
xor eax, eax
mov dword [esp + 0x68], eax
cmp eax, edi
je 0x509869
mov ecx, 1
lock xadd dword [eax], ecx
mov esi, dword [esp + 0x134]
push esi
lea ecx, [esp + 0x60]
call fcn.004c3960
mov edx, dword [esp + 0x14]
mov ecx, dword [ebp + 0x5c]
mov al, byte [esp + 0x13]
mov dword [esp + 0x60], edx
push ecx
lea edx, [esp + 0x94]
push edx
lea ecx, [esp + 0x20]
mov byte [esp + 0x6c], al
call fcn.00504e20
mov ecx, dword [eax]
cmp ecx, dword [esp + 0x68]
je 0x5098d6
cmp ecx, edi
je 0x5098b4
mov edx, 1
lock xadd dword [ecx], edx
mov ecx, dword [esp + 0x68]
mov eax, dword [eax]
mov dword [esp + 0x68], eax
cmp ecx, edi
je 0x5098d6
mov edx, ecx
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x5098d6
push ecx
call fcn.0058125d
add esp, 4
mov eax, dword [esp + 0x90]
cmp eax, edi
je 0x5098fa
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x5098fa
mov edx, dword [esp + 0x90]
push edx
call fcn.0058125d
add esp, 4
push esi
lea ecx, [ebp + 0x10]
call fcn.004c3960
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x130]
mov dword [esi], eax
mov ecx, 1
lock xadd dword [eax], ecx
mov al, byte [esp + 0x64]
mov edx, dword [esp + 0x60]
mov byte [esi + 8], al
mov eax, dword [esp + 0x68]
mov dword [esi + 4], edx
mov dword [esi + 0xc], eax
cmp eax, edi
je 0x509959
mov ecx, 1
lock xadd dword [eax], ecx
mov eax, dword [esp + 0x68]
cmp eax, edi
je 0x509959
or edx, 0xffffffff
lock xadd dword [eax], edx
jne 0x509959
mov eax, dword [esp + 0x68]
push eax
call fcn.0058125d
add esp, 4
mov ecx, dword [esp + 0x5c]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x509973
mov eax, dword [esp + 0x5c]
push eax
call fcn.004c6150
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x509991
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x509991
mov edx, dword [esp + 0x18]
push edx
call fcn.0058125d
add esp, 4
mov eax, dword [esp + 0x28]
cmp eax, edi
je 0x5099af
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x5099af
mov edx, dword [esp + 0x28]
push edx
call fcn.0058125d
add esp, 4
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x5099cd
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x5099cd
mov edx, dword [esp + 0x1c]
push edx
call fcn.0058125d
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x14